原文:编译预处理 -- 带参数的宏定义--【sky原创】

如有转载请注明出处
 
编译预处理  --  带参数的宏定义
前面为输出文件,后面为输入文件

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

最新文章

  1. HTML5_05之SVG扩展、地理定位、拖放
  2. Spring Security授权 AccessDecisionManager
  3. Spring MVC之cookies跟session 数据绑定
  4. 使用U盘在X230上安装Mavericks/Win7-黑苹果之路
  5. 【转】Robust regression(稳健回归)
  6. Flex读取txt文件中的内容报错
  7. jacascript 偏移量offset、客户区client
  8. java~springcloud微服务目录索引
  9. harpoxy 配置
  10. 最接近原点的K个点
  11. 解决nginx access日志中400 bad request 错误(转)
  12. Django中的Templates
  13. C语言常用命令
  14. C# 如何获取屏幕的截图,以及如何在图像上添加文字
  15. Redis Java连接操作
  16. Splay模板 1.0
  17. poj 2723 Get Luffy Out 2-SAT
  18. poj1106 Transmitters
  19. Jenkins是什么?
  20. Oracle EBS Export File Format

热门文章

  1. 介绍一款替代SSMS的sqlserver管理工具 toad for sqlserver5.7
  2. OCEANIAERP对接-code盘点机并存储实时库存计划和方案的使用,实时库存,云清查方案
  3. 云盘+Git GUI云盘文件版本控制
  4. Afinal载入网络图片及下载文件用法
  5. SDUT 1265-马停下过河卒(DFS)
  6. linux安装QQ
  7. .NET(C#):浅谈程序集清单资源和RESX资源
  8. Word2vec 讨论
  9. cuda vector addition
  10. Sql Server存储过程和函数浅谈