c语言的宏
来源:互联网 发布:如何淘宝刷好评赚钱 编辑:程序博客网 时间:2024/05/22 13:10
今天想在宏名中使用宏,如#define macroname##postfix,但是发现不行,好像c语言的宏没法弄出这种效果吧。暂时放一下,不琢磨了。
c语言预处理命令详解
http://www.360doc.com/content/15/0114/22/9200790_440805135.shtml
c语言宏
https://wenku.baidu.com/view/efd65365783e0912a3162a04.html
使用这么一个规则,可以创建一个很有趣的技术:打印出一个宏被展开后的样子,这样可以
方便你分析代码:
#define TO_STRING( x ) TO_STRING1( x )
#define TO_STRING1( x ) #x
TO_STRING
首先会将x全部展开(如果x也是一个宏的话),然后再传给TO_STRING1转换为字符串,现在你可以这样:
const char *str = TO_STRING( PARAM( ADDPARAM( 1 ) ) );
去一探PARAM展开后的样子
使用这么一个规则,可以创建一个很有趣的技术:打印出一个宏被展开后的样子,这样可以方便你分析代码:#define TO_STRING( x ) TO_STRING1( x ) #define TO_STRING1( x ) #x
TO_STRING首先会将x全部展开(如果x也是一个宏的话),然后再传给TO_STRING1转换为字符串,现在你可以这样:
const char *str = TO_STRING( PARAM( ADDPARAM( 1 ) ) );去一探PARAM展开后的样子。
一个很重要的补充:就像我在第一点说的那样,如果一个像函数的宏在使用时没有出现括号,那么预处理器只是
将这个宏作为一般的符号处理(那就是不处理)
C语言常用宏定义
https://wenku.baidu.com/view/258f0463caaedd3383c4d30e.html?re=view
c语言宏的高级应用
https://wenku.baidu.com/view/c95888ce05087632311212f5.html
C语言宏嵌套
http://blog.163.com/m13591120447_1/blog/static/21637918920137811837285/C语言宏高级用法 [总结]
http://www.cnblogs.com/Anker/p/3418792.html
- c语言的宏
- c语言的宏
- c 语言的宏定义
- c语言常用的宏
- C语言宏的学习:
- C语言的宏定义
- C语言的宏定义
- C语言宏的使用
- C语言宏的使用
- C语言的宏定义
- c语言的宏定义
- C语言的宏定义
- C语言宏的应用
- C语言的宏定义
- C语言的宏定义
- c 语言宏的用法
- C语言宏的妙用
- C语言的宏定义
- SSH整合完美解决$$_javassist_4 cannot be cast to javassist.util.proxy.Proxy
- 解题报告: Educational Codeforces Round 24 A,B,C
- TCP定时器的调研
- git checkout .
- 麻将开发中单例模式
- c语言的宏
- Java+Selenium3方法篇33-Actions-拖拽操作
- 又又又是缓存惹的火
- 在 ssh , telnet 终端中文显示乱码解决办法
- Allegro PCB Editor与十字花焊盘有关的技巧
- CJOJ 2482 【POI2000】促销活动
- TCP状态转换详解
- LeetCode | 54. Spiral Matrix
- swagger常用注解说明