Няшная / Говнокод #7300 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
/* Standard streams.  */
extern struct _IO_FILE *stdin;		/* Standard input stream.  */
extern struct _IO_FILE *stdout;		/* Standard output stream.  */
extern struct _IO_FILE *stderr;		/* Standard error output stream.  */
/* C89/C99 say they're macros.  Make them happy.  */
#define stdin stdin
#define stdout stdout
#define stderr stderr

А смысл?

Запостил: intelfx intelfx, (Updated )

Комментарии (8) RSS

  • задефайнено где-то еще и нужно передефайнивать?
    Ответить
    • задефайнены дефайны не по-дефайновски, надо их передефайновать, перевыдефайнить
      Ответить
  • А чего тут не понятного? В 5ой строке же всё сказано.
    Ответить
  • Альтернативная реализация (часто используемая):
    extern struct FILE _files[MAX_FILES];
    #define stdin &(_files[0])
    #define stdout &(_files[1])
    #define stderr &(_files[2])
    Это почему в стандарте говорится, почему это может быть макросом.

    А вот почему это должно быть макросом — на случай кода:
    #ifdef stdin
    ...
    или
    #ifndef stdin
    #include <stdio.h>
    #endif
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8