编译预处理 -- 带参数的宏定义--【原创】
如有转载请注明出处
编译预处理 -- 带参数的宏定义
前面为输出文件,后面为输入文件
gcc -E -o test.i test.c
gcc -o test test.i
test.c
test.i
取消宏定义
#undef 宏名
条件编译的三种形式
第三种
#if 常量表达式
源码1.....
#else // 此部分可选
源码2...
#endif
#----表示ABC(a) 即为 a这个字符串
##的用法
A_B(print_, menu)
等价为 print_menu()
__DATE__ 进行预处理的日期,注意是两个下划线喔,(“Mmm dd yyyy”形式的字符串文字)
__FILE__ 代表当前源码文件名的字符串文字
__LINE__ 代表当前源代码中的行号的整数常量
__TIME__源码文件的编译时间,格式为: "hh: mm: ss"
__func__ 当前所在函数名
test.c
test.i
欢迎交流
新浪博客:http://blog.sina.com.cn/u/2049150530
csdn博客:http://blog.csdn.net/u011749143
博客园:http://www.cnblogs.com/sky-heaven/
知乎:http://www.zhihu.com/people/zhang-bing-hua
【作者】sky
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.