#c #linux
#c #linux
Вопрос:
Я смотрю на строку в заголовочном файле C, которую я раньше не видел:
#define var_name1 "/dev/node_file"
Эта строка создает файл в /dev/ с именем node_file? Или это просто размещение имени переменной в уже существующем node_file?
Комментарии:
1. Это просто определение макроса, который расширяется до строки. Найдите код, который использует макрос.
2. techonthenet.com/c_language/constants/create_define.php
3. Он не выполняет ничего из того, что вы просите.
#define
Директива определяет замену. Везде в коде, где вы его используетеvar_name1
, заменяется на"/dev/node_file"
. Замена происходит на этапе предварительной обработки, перед фактической компиляцией кода.4. Чем это отличается от любого другого
#define
, который вы видели раньше?5. Это определяющий
var_name1
символ для строки"/dev/node_file"
. Каждое вхождение символаvar_name1
в единицу перевода будет заменено строкой"/dev/node_file"
на этапе предварительной обработки.
Ответ №1:
axiac и Frankie_C подвели итог объяснению для меня: везде в коде, где var_name1
используется, он будет заменен на /dev/node_file
.
Комментарии:
1. Нет,
var_name1
будет заменен на"/dev/node_file"
, а не наdev/node_file
.2. Спасибо, мистер Постпишил
3. Просто чтобы быть уверенным — он будет заменен на
"/dev/node_file"
. Включая два"
.