Visual studio 2008 在链接器阶段之后,如何在仅资源dll的末尾超过00填充
我正在尝试用MSVC 2008构建一个只包含数据的dll。源文件中只有一个结构 我正在使用以下标志(/c/TC)构建对象文件,并将其链接到(/NODEFAULTLIB/NOENTRY/DLL) 我看到在末尾添加了额外的0x18c字节00,使数据段的总大小为0x200。这是某种对齐或包装问题吗?我目前正在我的结构上使用pragma包Visual studio 2008 在链接器阶段之后,如何在仅资源dll的末尾超过00填充,visual-studio-2008,dll,linker,Visual Studio 2008,Dll,Linker,我正在尝试用MSVC 2008构建一个只包含数据的dll。源文件中只有一个结构 我正在使用以下标志(/c/TC)构建对象文件,并将其链接到(/NODEFAULTLIB/NOENTRY/DLL) 我看到在末尾添加了额外的0x18c字节00,使数据段的总大小为0x200。这是某种对齐或包装问题吗?我目前正在我的结构上使用pragma包 如何抑制这些额外的00的生成?是的,可执行映像(如.data)中的节的大小必须是2的幂,最小大小为512。价值观 简单的解决方法是将结构大小作为字段嵌入到结构和/或s
如何抑制这些额外的00的生成?是的,可执行映像(如.data)中的节的大小必须是2的幂,最小大小为512。价值观
简单的解决方法是将结构大小作为字段嵌入到结构和/或sizeof运算符中。或者使用资源编译器和SizeofResource()。默认对齐大小比我预期的要大得多,但看起来确实如此。谢谢