тип размера компилятора gcc
Мне любопытна переменная __SIZE_TYPE__
, которая предопределена компилятором gcc.
Предположим, что я закодировал следующее предложение в C
typedef __SIZE_TYPE__ size_t;
Существует ли вероятность возникновения ошибки при использовании другого компилятора C, исключая gcc?
Все ли компиляторы C имеют переменную __SIZE_TYPE__
?
1 ответ:
Да, возможно, что ошибка возникает, как только вы используете любой идентификатор с двойным подчеркиванием. См. стандарт с 7.1.3:
Все идентификаторы, начинающиеся с символа подчеркивания и верхнего регистра буква или другое подчеркивание всегда зарезервированы для любого использования.
Что касается
__SIZE_TYPE__
, то это, по-видимому, идентификатор gcc. Я не думаю, что какой-либо другой компилятор использует его, но нет никаких гарантий. Другой компилятор совершенно свободен использовать тот же идентификатор даже для совершенно другая цель .