nixp.ru v3.0

27 мая 2017,
суббота,
01:36:08 MSK

DevOps с компанией «Флант»
Longobard написал 10 декабря 2003 года в 22:05 (1020 просмотров) Ведет себя как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.

У меня в проекте есть два хидера. В каждом из них есть стражи включения:

#ifndef HEADER_NAME.H
#define HEADER_NAME.H
/* header code */
#endif

Эти стражи описаны везде, даже Бьерн про них говорил. А gcc выдает предупрждение:

header.h:1:16: warning: extra tokens at end of #ifndef directive

header.h:2:16: warning: ISO C requires whitespace after the macro name

Вот так. В чем фигня?

fly4life

Это же всего лишь предупреждения ;)

Во втором пердупреждении ведь русским языком сказано: «ISO C requires whitespace after the macro name», т.е. после строчки «#ifndef …..» оставь пустую строку, и должно перестать ругаться.

Longobard

Бред какой-то. Какая ему разница, есть там пробел или нету?

blacklion

что значит какая? написано же русским по белому — исо. стандарты это не бред.

fly4life
LONGOBARD
Какая ему разница, есть там пробел или нету?

именно поэтому он выдаёт не ошибку а всего лишь предупреждение.

anonymous

Убери точку перед H. Т.е. вот так:

#ifndef HEADER_NAME_H

#define HEADER_NAME_H

/* some code */

#endif

Good Luck,

UT