有没有办法让gcc预处理器将一个类型替换为由type定义的类型,即
如下所示:
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;
}
发布于 2012-10-21 11:21:10
不,没有,因为类型别名是编译阶段的一部分,而不是预处理阶段。因此,预处理器无法通过设计了解任何有关类型的信息,也无法对这些类型执行任何操作。此外,您还忘记将;
放在typedef语句的末尾。
https://stackoverflow.com/questions/12994605
复制相似问题