4

有没有办法让 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;
}
4

1 回答 1

2

不,没有,因为类型别名是编译阶段的一部分,而不是预处理阶段。因此,预处理器无法通过设计了解有关类型的任何信息,也无法对这些类型执行任何操作。此外,您忘记;在 typedef 语句的末尾添加。

于 2012-10-21T03:21:09.683 回答