2016-11-11 57 views

回答

3

一般来说,没有。一旦代码被编译,C就没有用于结构定义。编译器将所有的成员引用转换是这样的...

foo.x = 1; 

...到只知道x是指在一定从foo开始偏移某一类型的数据项汇编语言。 (某些硬件架构可能会使用不同的寻址机制,但它在概念上是相同的。)

可能有一个编译器将调试符号嵌入到目标文件中,而不是单独的调试文件。我不知道任何这样的编译器,但可以存在。但是,这根本不是一回事。这些符号可能只能由调试器加载,并且不能用于程序本身。