查看扩展的 C 宏

See expanded C Macros

有没有办法查看经过预处理后扩展后的代码会是什么样子? 在网上找到了我的问题的许多答案,但它们都使用了很多对我来说完全陌生的术语。 Seeing expanded C macros 我是编程的完全初学者。通过 Y.K 从 'Let us C' 学习 C。目前在第12章 'C Preprocessor'。 有人可以用简单的术语解释一下吗?还是我应该暂时搁置它,稍后再回来?

使用 Code:Blocks 作为 IDE 和 gcc 作为编译器。

编辑:-

#include<stdio.h>
#define AREA(x) (3.14*x*x)
int main()
{
    int r1=1,r2=2;
    float ar1,ar2;
    ar1=AREA (r1);
    printf(" %f",ar1);
    ar2=AREA (r2);
    printf(" %f",ar2);
    printf(" %f",ar1/ar2);
    printf(" %f",AREA (r1)/AREA (r2));
}

阅读 GCC 编译器的文档。

也阅读一些 C reference 网站。

有一章是关于Invoking GCC的。花一个小时看完。

您还想阅读 CPP preprocessor, and probably of GNU binutils 的文档。

您可以使用 gcc -Wall -Wextra -g -H ems.c -o ems-prog 编译您的 C 文件 ems.c。一旦你没有警告,使用 GDB 调试器来了解你的可执行文件的行为 ems-prog

您可以 运行 gcc -Wall -Wextra -g -C -E ems.c -o ems.iems.i 文件中获取 ems.c

的预处理形式

您可以在一些终端模拟器中运行编译命令。

以后想用GNU make (or ninja) or some other build automation工具驱动编译命令。当然,你需要阅读他们的文档。

学习已有free software coded in C, for example GNU bash.

源代码的灵感

使用 -E 标志从终端编译您的代码:gcc my_code.c -E

这会将预处理后的代码直接打印到终端。如果您想将其保存到文件中,请在末尾添加类似 -o result.txt 的内容。