我正在查看由 msvs 2008 链接器生成的可执行文件中的数据部分,我看到它在 const 静态字符串之间插入了某种标记:
我查看了其他一些可执行文件,并且看到了相同的模式。实际字节值虽然不同,但仍插入字符串之间。
我查看了生成的映射文件,它看起来不像是内存对齐措施(一些地址以 0xc 结尾,这意味着对齐到 4,但为什么要在其间添加这么多填充零),即使是这样,为什么会这样持续增加值(value)?用于检测内存损坏的某种保护序列或我不知道的其他原因?
对于任何反馈,我们都表示感谢。谢谢!
最佳答案
你确定那些是静态字符串吗?对我来说,它们看起来像 RTTI 数据 block ,可读字符串是类型名称,这表明其他字节是更多类型信息。
关于c++ - MSVS 链接器在静态 const 字符串之间添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20144938/