我用gnu arm-elf-gcc编译了一些typedefines,flags set -02 -g。用objdump创建.lst文件后,按照命令行选项设置-s -S -D。
我无法在列表中找到typedefines。不是.text还是.data部分?
unsigned int state_0=0x6;
typedef unsigned char uc32;
typedef struct{
unsigned int mask;
uc32 id;
uc32 type;
unsigned int attribute;
} Pin;
unsigned int state=2;
void foo(void)
{
state=0;
state=1;
}
void foo_1(void)
{
Pin pin_1;
uc32 loop=4;
foo();
pin_1.mask=0x5;
state=0x07;
}
答案 0 :(得分:0)
typedef
为现有类型创建别名 - 不再包含;编译器会将其解析为实际类型并相应地生成代码,类型名称符号不需要出现在最终代码或调试信息中。
此外,类型定义不会实例化数据对象,它没有位置,因此不会出现在链接映射中。