gcc编译汇编源码时怎样支持#define宏定义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc编译汇编源码时怎样支持#define宏定义相关的知识,希望对你有一定的参考价值。

参考技术A 宏定义 #define只是在预编译时简单的文字替换,其实并没有定义任何的变量。 #define a 1 uchar i; main() i=a; 其实在预编译以

KEIL生成预编译文件

有时复杂宏定义替换后感觉有点奇怪,有时想看看#define宏定义替换后的怎样,

调试程序只能看到汇编,并不能找到宏替换中的错误,这时可以在KEIL中打开生成预编译文件

在设置菜单Listing选项中选中C Preprocessor Listing(选中编译速度会变化,不需要调试宏定义建议关闭)

重新编译就可以在build中找到.i的预处理文件

技术图片

 

 例如我这里使用了一个复杂的宏定义UI_MENU_REG,里面嵌套其他宏定义,查看.i 预处理文件就可以看到宏替换后的代码

技术图片

 

以上是关于gcc编译汇编源码时怎样支持#define宏定义的主要内容,如果未能解决你的问题,请参考以下文章

gcc常用的参数说明

Linux基础常用开发工具——gcc/g++编译器

读书笔记--预处理宏定义

KEIL生成预编译文件

Linux编译器-gcc/g++使用

Linux超好用的编译工具 —— gcc/g++