你能用#define宏在C中创建文件吗?
我正在查看C头文件中的一行,这是我以前从未见过的:你能用#define宏在C中创建文件吗?,c,linux,C,Linux,我正在查看C头文件中的一行,这是我以前从未见过的: #define var_name1 "/dev/node_file" 此行是在/dev/中创建名为node_文件的文件吗?或者只是给已经存在的节点文件添加了一个变量名?axiac和Frankie\u C为我总结了一个解释:在代码中使用var\u name1的任何地方,它将被替换为/dev/node_fileaxiac和Frankie_C为我总结了一个解释:在使用var_name1的代码中,它将被替换为/dev/node_f
#define var_name1 "/dev/node_file"
此行是在/dev/中创建名为node_文件的文件吗?或者只是给已经存在的节点文件添加了一个变量名?axiac和Frankie\u C为我总结了一个解释:在代码中使用
var\u name1
的任何地方,它将被替换为/dev/node_file
axiac和Frankie_C为我总结了一个解释:在使用var_name1
的代码中,它将被替换为/dev/node_file
它只是定义了一个扩展为字符串的宏。寻找使用宏的代码。它不会做任何你要求的事情。#define
指令定义替换。在使用var\u name1
的代码中,它被替换为“/dev/node\u file”
。替换发生在实际代码编译之前的预处理阶段。这与您以前看到的任何其他#define
有什么不同?它将var_name1
符号定义到字符串“/dev/node_file”
。在预处理阶段,翻译单元中出现的每个符号var\u name1
都将被字符串“/dev/node\u file”
替换。它只是定义一个扩展为字符串的宏。寻找使用宏的代码。它不会做任何你要求的事情。#define
指令定义替换。在使用var\u name1
的代码中,它被替换为“/dev/node\u file”
。替换发生在实际代码编译之前的预处理阶段。这与您以前看到的任何其他#define
有什么不同?它将var_name1
符号定义到字符串“/dev/node_file”
。在预处理阶段,翻译单元中出现的符号var\u name1
将被字符串“/dev/node\u file”
替换。不,var\u name1
将被“/dev/node\u file”
替换,而不是被dev/node\u file
替换。感谢Postischil先生,请确认,它将被替换“/dev/node\u文件”
。包括两个”
。不,var\u name1
将替换为“/dev/node\u文件”
,而不是dev/node\u文件
。感谢Postischill先生,请确保它将被“/dev/node\u文件”
替换。包括两个“
。