有没有办法让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;
}
答案 0 :(得分:2)
不,没有,因为类型别名是编译阶段的一部分,而不是预处理阶段。因此,预处理器无法通过设计了解任何类型,也无法对这些类型执行任何操作。此外,您忘记将;
放在typedef语句的末尾。