【发布时间】:2014-10-24 00:02:27
【问题描述】:
我被问到以下问题并被难住了:
当您尝试使用结构访问链接目标文件时,会发生什么情况?其中代码已针对相同的体系结构和指令集编译,但具有不同的对齐限制?结构体定义是一样的。
我觉得代码无法链接有几个原因:
- 可能违反对齐限制
- 一个对象文件结构访问的偏移量与其他对象不同
【问题讨论】:
标签: c struct compilation linker
我被问到以下问题并被难住了:
当您尝试使用结构访问链接目标文件时,会发生什么情况?其中代码已针对相同的体系结构和指令集编译,但具有不同的对齐限制?结构体定义是一样的。
我觉得代码无法链接有几个原因:
【问题讨论】:
标签: c struct compilation linker
有几种可能:
【讨论】:
如果将结构保存到文件中或从文件中保存,我会建议会有深刻而可爱的错误,不一定在编译时。 (尽管可以强制单个结构对齐,尽管编译器项目设置是相同的(虽然并不容易)。)以任何方式跨库 - 然后在某些情况下 DLL 可以毫无问题地组合在一起。但是对于文件,这是一个大问题,并且会产生不良行为。
【讨论】: