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

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

转载于:https://www.cnblogs.com/sky-heaven/p/4138483.html

编译预处理 -- 带参数的宏定义--【原创】相关推荐

  1. 【C语言】宏定义(不带参数的宏定义和带参数的宏定义)

    目录 一.不带参数的宏定义 1.定义 2.#undef 指令取消宏定义 二.带参数的宏定义 1.定义 2.宏定义参数替换的注意事项 三.带参数的宏定义和带参函数的区别 一.不带参数的宏定义 1.定义 ...

  2. 编程题:带参数的宏定义来实现,求圆的周长和面积。

    编程题:带参数的宏定义来实现,求圆的周长和面积. #include<stdio.h> #define PI 3.14159 #define L(r) 2*PI*(r) #define S( ...

  3. 预处理命令 || 宏定义 || 带参数的宏定义

    #include <stdio.h>//说明:在windows 操作系统和 linux操作系统下,生成源码不一样!!!//#include <windows.h> //int ...

  4. python用海伦公式求面积_用带参数的宏定义,通过海伦公式求三角形的面积

    要求: 海伦公式: ,其中 ,a,b,c为三角形的三个边.定义两个带参数的宏,一个用来求p,另一个用来求s 题目分析: 首先,题目要求是通过输入三角形的三条边,输出三角形的面积.因为不是任意的三条边都 ...

  5. mysql宏参数_C语言带参数的宏定义

    C语言允许宏带有参数.在宏定义中的参数称为"形式参数",在宏调用中的参数称为"实际参数",这点和函数有些类似. 对带参数的宏,在展开过程中不仅要进行字符串替换, ...

  6. c++ 带参数的宏定义实现反射机制

    lua 这种脚本语言用久了,总觉得反射机制就应该理所当然的嵌入在语言特性里. 比如希望根据自己传的类型名变量,动态去 new 一些实例.在 lua ,js 里做起来就非常简单,然而在 c++里面做起来 ...

  7. c语言宏编译命令大全,C语言宏定义与预编译详解

    http://blog.csdn.net/findaway123/article/details/6994203 2011 1.宏定义和函数的区别 -------------------------- ...

  8. 如何定义一个带参数的宏

    开发中我们经常会遇到一些需要封装起来的简单函数 比如说:有两个数,通过调用一个宏去返回较大的数 或者:通过输入三原色(RGB)的值去输出一个自己的颜色 这中做法比较常用  下面就来说一下这种带参数的宏 ...

  9. 定义带参数的宏来求三角形的面积

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 13.三角形的面积为,其中sqrt( s * (s-a) (s-b) (s-c) ), ...

最新文章

  1. c索引超出了数组界限_Lua数组、Lua迭代器
  2. PHP实例——获取文件的绝对路径
  3. flink网页端提交pr-修改文档报错
  4. spring学习(12):使用junit4进行单元测试
  5. post发送byte数组_KAFKA消息发送
  6. go之树型结构深度理解补充
  7. vue路由,解决同一路由页面多次触发不刷新页面【vue开发】
  8. [剑指Offer] 42.和为S的两个数字
  9. 【Elasticsearch】es node 节点
  10. 01-linux下Postgresql的安装
  11. 关于shiro授权 This subject is anonymous - it does not have any identifying principals and authorization
  12. OCR 工具tesseract初体验
  13. (转载)Linux的IPC命令
  14. 企业管理软件平台架构内幕揭秘
  15. rpc portmap rpcbind vxi11
  16. ADS1115的IIC通信
  17. 安全性、活跃性以及性能问题
  18. 【Echarts】- 制作饼图
  19. 马化腾入选全球最伟大50位领袖名单;vivo涉嫌虚假宣传;高通裁员1500人丨价值早报...
  20. 微软服务器为何时间总是慢,登录微软账户特别慢的原因

热门文章

  1. AI预测RNA结构登上Science封面,论文一作已成立药物公司开始招人
  2. 现在上学有点赛博朋克内味儿了
  3. 微软旷视人脸识别100%失灵!北京十一学校校友新研究「隐身衣」,帮你保护照片隐私数据...
  4. 这个「化学家」登上Nature封面:工作007,8天完成近700次实验,还设计出新催化剂...
  5. hadoop HA集群搭建(亲测)
  6. 7月17日云栖精选夜读:深度 | 两个案例,掌握AI在大数据领域的前沿应用
  7. Vector ArrayList Hashtable HashMap ArrayList LinkedList
  8. PostgreSQL9.5和JSONB的强大功能
  9. 记mysqldump导出导入数据库的一个小问题~
  10. onethink不能安装到已经存在的数据库中的问题