原文:gcc编译阶段打印宏定义的内容

背景 总所周知,代码量稍微大一点的C C 项目的一些宏定义都会比较复杂,有时候会嵌套多个 if else判断分支和一堆 ifdef undef让你单看代码的话很难判断出宏定义的具体内容。 如果有一种机制能够帮助我们在构建期间打印出宏的实际内容,就能帮我们更快地捋清楚代码逻辑。 message pragma 如message pragma定义所说,可以使用它来打印一个字面意义的字符串: 而我们知道宏 ...

2020-12-20 17:12 0 935 推荐指数:

查看详情

c++编译打印定义

#pragma message("this is message") #pragma message只能打印字符串,如果想打印任何定义可使用: #define PRINT_MACRO_HELPER(x) #x #define PRINT_MACRO(x) #x ...

Wed May 24 06:17:00 CST 2017 0 1521
Linux下的GCC编译器内部预定义

Linux下的GCC编译器内部预定义 经常在一些开源的程序中看到一些定义,却看不到这些定义是在哪些地方定义的,其实有些定义是交叉编译工具GCC定义好的,比如:__GNUC__,__ELF__等等,怎么看到这些定义呢,可以采用以下命令来查看: gcc -E -dM ...

Wed May 08 18:40:00 CST 2019 0 658
GCC编译查看

编译调试代码时,总是遇到要使用编译器预编译进行跨平台编译. gcc -E -dM -</dev/null 编译器版本 Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 结果 ...

Fri May 24 01:31:00 CST 2019 0 1048
查看GCC的内置定义

开发过程中我们常常需要使用定义。。 为了尽可能多的使用GCC为我们提供的特性,首先我们需要知道gcc提供了那些特性。。。 gcc -dM -E - < /dev/null 没错,就这么一句话就可以搞定了。。。 ...

Sat Sep 22 03:56:00 CST 2018 0 1398
gcc 编译 hello.c 的四个阶段

目录 1 预处理阶段:预处理器(cpp) 2 编译阶段编译器(ccl) 3 汇编阶段:汇编器(as) 4 链接阶段:链接器(ld) hello.c 1 预处理阶段:预处理器(cpp) 2 编译阶段编译器(ccl) 3 汇编阶段 ...

Sat Sep 07 08:07:00 CST 2019 0 803
gcc中预定义__GNUC__

今天在看Linux系统编程这本书的代码的时候看到了__GNUC__,不太清楚这个所以去查了一下,以此记录。GNU C预定义了一系列的,这些都是以双下划线开始的,这里只讲一下__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__,其他GNU C的预定义 ...

Sat Jul 22 08:14:00 CST 2017 0 10718
获取gcc和clang的内置定义

下面是对Gcc的内置定义的解释: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html https://github.com/gcc-mirror/gcc/blob/master/gcc/config ...

Wed Feb 20 06:42:00 CST 2019 0 535
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM