Какова область действия переменной # define'd? - PullRequest
1 голос
/ 01 августа 2011

Я пытаюсь использовать переменную препроцессора, которую я объявил в main.c в другом исходном файле C в том же проекте, но я получаю ошибку времени компиляции, включенную из main.c: неопределенный символ 'mysymbol ». Теперь, каковы правила использования #define вне файла, в котором он содержится?

Ответы [ 2 ]

9 голосов
/ 02 августа 2011

Теперь, каковы правила использования #define вне файл, в котором он содержится

A #define не виден вне своего файла. Единственный способ сделать его видимым вне файла, в котором он определен, - включить этот файл.

Похоже, вы должны поместить его в заголовок, включенный как main.c, так и другим файлом.

3 голосов
/ 02 августа 2011

Вам нужно поместить #define в заголовок и #include во все файлы, на которые вы хотите сослаться.

...