Внешний и внутренний идентификатор - PullRequest
0 голосов
/ 10 января 2019

Я знаю, как хорошо кодировать на C, но я подумал об изучении C из книги C - The Complete Reference Герберта Шильдта. Вот цитата из главы 2:

В C89, по крайней мере, первые 6 символов внешнего идентификатора и в как минимум первые 31 символ внутреннего идентификатора будут значительными. C99 увеличил эти значения. В C99 внешний идентификатор имеет как минимум 31 значащий символ, а внутренний идентификатор имеет как минимум 63 значимых символа.

Может кто-нибудь объяснить, что значит быть значимым?

1 Ответ

0 голосов
/ 10 января 2019

Это означает, что он используется в компиляторе для различия между разными именами.

например. если значимы только первые 6 символов, при наличии двух переменных:

int abcdef_1;
int abcdef_2;

Они будут рассматриваться как одна и та же переменная, и, возможно, компилятор выдаст предупреждение или ошибку.

О минимальном значении:

Может быть, компилятор / ассемблер может обрабатывать больше, но компоновщик не может. Или, может быть, внешние инструменты, которые не подконтрольны производителю ассемблера / компоновщика, могут обрабатывать меньше, поэтому минимальное значение (для каждого типа, внутреннее / внешнее) определено в стандарте (ях) C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...