展开宏以方便阅读
展开宏以方便阅读 #
gcc -E macro.c -o macro_expand.c.
-E Preprocess only; do not compile, assemble or link.
macro.c:
#include <stdio.h>
#include <stdlib.h>
#define SUM(a, b) ((a) + (b))
#define SUB(a, b) ((a) - (b))
int main()
{
    int a = 2;
    int b = 1;
    int c = 0;
    c = SUM(a, b) + SUB(a, b);
    printf("%d\n", c);
}
生成的macro_expand.c:
// 生成的文件里包含了非常多内容,这里就不一一展示了,有兴趣的可以自己试一下
// 其中关键的部分:
# 7 "macro.c"
int main()
{
    int a = 2;
    int b = 1;
    int c = 0;
    c = ((a) + (b)) + ((a) - (b));
    printf("%d\n", c);
}