C 访问代码中的全局静态表不匹配

C 访问代码中的全局静态表不匹配,c,compilation,linker,C,Compilation,Linker,我有两个.c文件(X,y),它们访问一个全局表 从X.c当我访问表时,我得到了错误的值? 从Y.c当我访问表时,我得到了正确的值 检查表的基址和两个位置的偏移量。它们仍然存在 同样的 此表单独编译并使用extern导出。我错过了什么。这种行为看起来很奇怪 应该以相同的方式从两个对象文件访问该表。由于表中的未对齐,我遇到了这个问题。因为X.c是用不同的编译器标志编译的,y.c是用不同的编译器标志编译的。它是固定的Humbelfool我之所以会遇到这个问题,是因为表格中没有对齐。因为X.c是用不同的

我有两个.c文件(X,y),它们访问一个全局表

从X.c当我访问表时,我得到了错误的值? 从Y.c当我访问表时,我得到了正确的值

检查表的基址和两个位置的偏移量。它们仍然存在 同样的

此表单独编译并使用extern导出。我错过了什么。这种行为看起来很奇怪


应该以相同的方式从两个对象文件访问该表。

由于表中的未对齐,我遇到了这个问题。因为X.c是用不同的编译器标志编译的,y.c是用不同的编译器标志编译的。它是固定的Humbelfool

我之所以会遇到这个问题,是因为表格中没有对齐。因为X.c是用不同的编译器标志编译的,y.c是用不同的编译器标志编译的。它是固定的。