Cas*_*lav 2 c c-preprocessor preprocessor-directive
例如:如果我有两个.h文件
process1.h和process2.h
它们包含两个具有不同输出变量的函数.
process1.h:
function(int var)
{
return 2*var;
}
Run Code Online (Sandbox Code Playgroud)
process2.h:
function(int var)
{
return 10*var;
}
Run Code Online (Sandbox Code Playgroud)
可以在main.c中完成:
int main()
{
int a = 2;
#include "process1.h"
printf("%d",function(a)); //output is 4
EXCLUDE #INCLUDE "process1.h" ????? <----can this be done in any way??
#include "process2.h"
printf("%d",function(a)); //output is 20
}
Run Code Online (Sandbox Code Playgroud)
不,你不能"取消包含"一个文件.想想在实际的C编译器甚至看到源文件之前#发生的所有预处理器指令(以行开头).它们只是对文件的文本进行操作,预处理器可以作为一个单独的步骤实现,只是将新文本提供给实际的编译器.
修改include依赖于调用者的操作的最佳方法是#define在包含它们之前使用包含文件中的其他宏.
仍然,你的整体语法是关闭的,你不能(通常)在C中嵌套函数.
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |