Visual Studio(c ++),在发布模式的映射文件中缺少变量

时间:2016-07-01 09:27:11

标签: c++ visual-studio

我使用visual studio 2005 C ++在调试和发布模式下构建代码。 我需要生成一个dll的map文件来获取一些地址。 我的一个头文件中有一个全局缓冲区FREE_MEM。

我的问题是当我使用调试模式时,我在地图文件中为我的缓冲区获取了正确的地址,例如_FREE_MEM 0x00 ...但是当我使用发布模式时,变量会从地图文件中消失。

2 个答案:

答案 0 :(得分:0)

虽然我无法直接验证这一点,但我怀疑如果用_dllexport装饰变量定义,它将被导出,因此将列在地图文件中。

答案 1 :(得分:0)

我通过初始化缓冲区来解决问题 FREE_MEM =“”;

我也将变量从头文件移动到.C文件。