社区
C语言
帖子详情
gcc 下如何编译时查看展开宏
deep_pro
2012-03-15 05:05:02
例如
#if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR_PHYS)
gcc有没有什么宏或者特性,能够在编译时把CONFIG_SYS_CCSRBAR_PHYS宏展开的结果显示出来
要求
1、查看.i 文件的方法我知道,所以不用说了,不给分的
2、代码运行的硬件还没到位,puts 、printf之类的神器用不上,所以求编译时就能打印宏的功能
...全文
1552
5
打赏
收藏
gcc 下如何编译时查看展开宏
例如 #if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR_PHYS) gcc有没有什么宏或者特性,能够在编译时把CONFIG_SYS_CCSRBAR_PHYS宏展开的结果显示出来 要求 1、查看.i 文件的方法我知道,所以不用说了,不给分的 2、代码运行的硬件还没到位,puts 、printf之类的神器用不上,所以求编译时就能打印宏的功能
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzw_happy
2012-09-16
打赏
举报
回复
-O0
珍惜生命远离CPP
2012-03-15
打赏
举报
回复
[Quote=引用 3 楼 deep_pro 的回复:]
gcc -E 就是要我看.i文件啊
我想gcc应该提供这样的功能吧 ,很实用的功能啊
[/Quote]
要么看到的是宏,要么看到的是宏展开后的东西,展开部分宏,估计那个编译器都没这功能吧
找找某些IDE,能够智能提示宏对应的是啥
deep_pro
2012-03-15
打赏
举报
回复
gcc -E 就是要我看.i文件啊
我想gcc应该提供这样的功能吧 ,很实用的功能啊
justkk
2012-03-15
打赏
举报
回复
gcc -E 行不行?
珍惜生命远离CPP
2012-03-15
打赏
举报
回复
grep 吧 找带#define 的
【C语言】
编译
过程中
查看
某个
宏
的值
要
查看
宏
的值,应该使用字符串化运算符 # 来将
宏
转换为字符串,但是由于 #pragma message 本身就是预处理器指令,所以正确的使用方式是直接在后面跟上
宏
的名称。比如,如果
编译
器不支持直接在 #pragma message 中使用
宏
展开
,可能需要转而使用其他实现定义,或者简单地使用 printf 在程序运行
时
输出
宏
的值。: 如果在使用
GCC
,可以使用`#pragma message`来输出
宏
的值。在C语言中,使用 #pragma message 打印
宏
的值
时
,应当直接使用
宏
的名称。
gcc
编译
时
定义
宏
在代码中经常可以看到条件
编译
语句,其结构大致如下所示: #ifdefTEST (语句块1) #else (语句块2) #endif 如上条件
宏
语句意思为,如果定义了TEST
宏
,则执行语句块1,否则执行语句块2。那么如何定义TEST
宏
呢? 只需要
编译
时
添加-D选项就即可: -DTEST表示定义TEST
宏
示例代码: #include <stdio.h> int main...
GCC
/G++
编译
器和VS IDE中的一些预定义
宏
和用户自定义
宏
预定义
宏
,
编译
器通常会根据平台和
编译
选项的不同,为被
编译
的程序提供不同的预定义的
宏
, 例如WIN32 WIN64 LINUX, 例如DEBUG, RELEASE. 1. 在使用
gcc
/g++
编译
器
时
,可以通过以下命令打印出
编译
器预
编译
的
宏
。
gcc
-dM -E - 2. 在VS IDE中,可以参看http://msdn.microsoft.com/zh-cn/libr
gcc
编译
器,加-D选项,
编译
时
添加
宏
定义
gcc
编译
器,加-D选项,
编译
时
添加
宏
定义
gcc
使用-D选项,在
编译
时
会在可执行文件中添加
宏
定义。相当于添加了全局
宏
例:test.c #include <stdio.h> int main(void) { #ifdef LINUX printf("hello world\n"); #endif printf("666\n"); return 0; } ...
gcc
预定义的一些
宏
gcc
中的预
编译
宏
* 预定义的
宏
* __NASE_FILE__ 源文件的完整路径名,和 __FILE__ 不同,被引用的文件仍然是原来文件名 * __CHAR_UNSIGNED__ 用于指定该机器上 char 是无符号类型 * __cplusplus 使用 C++
编译
器
编译
* __DATE__
编译
时
的日期 * __FILE
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章