gcc预处理器typedef名称替换

有没有办法让
gcc预处理器用typedef定义的类型替换类型,即

这样的事情:

typedef unsigned char Uint8

int main(void)
{
    Uint8 a = 1;
    Uint8 b = 2;
    Uint8 c;

    c = a + b;

    return 0;
}

会被预处理成这样的东西:

int main(void)
{
    unsigned char a = 1;
    unsigned char b = 2;
    unsigned char c;

    c = a + b;

    return 0;
}

最佳答案 不,没有,因为类型别名是编译阶段的一部分而不是预处理阶段.因此,预处理器无法通过设计了解任何类型,也无法对这些类型执行任何操作.还有,你忘记了;在typedef语句的末尾.

点赞