Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vasya Kruglov                        2:5020/1587.444 11 Nov 2003  23:03:23
 To : All
 Subject : сайд-эффекты
 -------------------------------------------------------------------------------- 
 
 
 Тут пару недель назад была небольшая дискуссия о сайдэффектах в конструкциях
 наподобие
 i=(i++)+(i++)+(i++);
 
 Вот пример из жизни, к чему они приводят:
 === cut ===
 Д ETERNAL.TALK (2:5020/1587.444) ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД ETERNAL.TALK Д
  Msg  : 1672 of 1672                        Uns Loc
  From : Vasya Kruglov                       2:5020/1587.444 Втp 11 Hоя 03 21:53## To   : All                                                 Втp 11 Hоя 03 21:53
  Subj : переносимость
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
 
 Привет тебе, матерый человечище All!
 
 Помните, я рассказывал о том, что сейчас мы программируем на очень древнем
 железе? Помогаю недавно одной знакомой портировать программу на С, написанную
 под чем-то досовым (или виндами), писал парень этой знакомой. Под линуксом все
 замечательно, а там возникают проблемы. Через где-то час удалось ее
 скомпилировать. Hо работает неверно. Еще час активной половой жизни вчетвером
 (я, она и два терминала) нахожу ошибку.
 
 Есть две матрицы размером n на m, которые лежат в массивах mass и mass1. Hужно
 скопировать содерживое mass1 в mass. Молодой человек этой девушки, выпускник,
 блин, мехмата МГУ, написал следующий, язви его в душу, код:
 
 k=0;
 while (k<n*m)
  mass[k]=mass1[k++];
 
 Под виндами оно компилировалось так, как хотел тот молчел. Под линуксом (gcc)
 тоже. А под этим HP-UX оно компилировалось несколько по-другому.
 Рвать яйца надо за подобный код. Еще один оператор - и все работает абсолютно
 корректно вне зависимости от компилятора:
 
 k=0;
 while (k<n*m) {
  mass[k]=mass1[k];
  k++;
 }
 Мяу!
 
 Я не утверждаю, что вышенаписанное соответствует действительности.
 Vasya Kruglov AKA zpt.  zpt(at)rambler.ru
 
 -+- GoldED+/386 1.1.1.2
  + Origin: Hастоящему индейцу завсегда везде ништяк! (2:5020/1587.444)
 
 === cut ===
 Мяу!
 
 Я не утверждаю, что вышенаписанное соответствует действительности.
 Vasya Kruglov AKA zpt.  zpt(at)rambler.ru
 
 --- GoldED+/386 1.1.1.2
  * Origin: Hастоящему индейцу завсегда везде ништяк! (2:5020/1587.444)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 сайд-эффекты   Vasya Kruglov   11 Nov 2003 23:03:23 
 Re: сайд-эффекты   Mikhail Gusarov   12 Nov 2003 07:29:23 
 Re: сайд-эффекты   Denis Kostousov   12 Nov 2003 09:27:02 
 Re: сайд-эффекты   Eugene Karpachov   12 Nov 2003 11:16:11 
 Re: сайд-эффекты   Igor Chumak   12 Nov 2003 11:51:33 
 Re: сайд-эффекты   Denis Kostousov   12 Nov 2003 14:15:51 
 Re: сайд-эффекты   Serguei Khvatov   12 Nov 2003 15:34:14 
 Re: сайд-эффекты   Victor Wagner   12 Nov 2003 15:55:43 
 Re: сайд-эффекты   Denis Kostousov   12 Nov 2003 16:24:46 
 Re: сайд-эффекты   Denis Zaitsev   12 Nov 2003 16:59:10 
 Re: сайд-эффекты   Aleksey Cheusov   12 Nov 2003 18:30:46 
 Re: сайд-эффекты   Il\'ya Teterin   13 Nov 2003 01:21:35 
Архивное /ru.linux/193923fb15cb1.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional