对于" #include"是否有任何实际用途进行宏扩展?线?
例如,像
这样的头文件// calculated_include.h
#define THE_STRING "Hello, World!\n"
然后是C或C ++文件,如
// calculated_include.c
#define HEADER_MACRO "calculated_include.h"
#define STDIO <stdio.h>
#include STDIO
#include HEADER_MACRO
int main(void){
printf("%s", THE_STRING );
}
然后从命令行我做
make calculated_include
./calculated_include
并打印出来,正如您可能已经猜到的那样,
你好,世界!
我看到一些人在#34; #include&#34;第"calculated includes"行或"computed includes"行;有更好的名字吗?
我看到一个人想在&#34; #include&#34;中使用文本替换。文件,因此在gcc命令行上使用&#34; -D&#34;指定文件名。选项将被替换为&#34; #include&#34;声明( How can I specify an include file from the GCC Command Line?)。 但在我看来,直接使用&#34; -include&#34;指定该文件名。命令行选项(Include header files using command line option?和"Options Controlling the Preprocessor")会更简单,也可以正常工作。
&#34; #include&#34;是否有任何其他用途进行宏扩展?线?