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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Kirill Frolov                        2:5030/827.2   04 Nov 2003  22:59:38
 To : Alexandr Molchevsky
 Subject : Re: Kylix крек
 -------------------------------------------------------------------------------- 
 
 
 On Sun, 02 Nov 03 11:58:57 +0300, Alexandr Molchevsky wrote:
 
  AM>>>         i=(++i)+(++i)+(++i);
 
  AM>         Это ты такой умный потому что тут сразу видно что это "идиотизм", а
  AM> когда у тебя в подобное разворачивается выражение из макросов, например, то
  AM> так сразу не скажешь.
 
    А ты пиши макросы нормально.
 
  AM>         Легко! Вот "чудесное" наблюдение от Антона Москаля:
 
  AM> int stack [100];
  AM> int *p = stack;
  AM> void push (int v) { *p++ = v; }
  AM> int  pop  (void) { return *--p; }
  AM> int  add  (void) { int i = pop (); return i + pop (); }
  AM> int  fn (int c) { return c*10; }
 
  AM> # include <stdio.h>
  AM> int main (void)
  AM> {
  AM>    printf ("%d, %d\n",
  AM>              fn ((push (1), push (2), add ())),
  AM>              fn ((push (3), push (4), add ()))
  AM>    );
  AM>    return 0;
  AM> }
 
    Так, и где здесь чудеса? 
  AM> Hа самом деле почему меня этот пример сильно удивил - я понял, что идиома,
  AM> которой я пользовался и считал безопасной, таковой не является - а именно -
 
  AM> extern int _temp;
 
 ^^^^^^^^^^^^^^^^^^^^^^^
    Hу так и не удивительно.
    
 
 --- [ZX]
  * Origin: Зенит -- чемпион! (2:5030/827.2)
 
 

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

 Тема:    Автор:    Дата:  
 Kylix крек   Vasya Kruglov   01 Nov 2003 12:53:33 
 Kylix крек   Alexandr Molchevsky   02 Nov 2003 12:58:57 
 Re: Kylix крек   Igor Chumak   03 Nov 2003 12:20:57 
 Re: Kylix крек   Kirill Frolov   04 Nov 2003 22:59:38 
Архивное /ru.linux/3833cb764113.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional