相关疑难解决方法(0)

如何阻止GCC合并共享相同后缀的字符串文字?

GCC似乎在进行优化,将合并了相同后缀的字符串文字组合在一起。

例如,一个包含两个字符串文字"foo bar""bar"可以最终ELF形式结束的C程序(1)将字符串表更改为具有单个字符串文字,"foo bar"以及(2)将该程序更改为将任何指针"bar"都转换为现在指向的4字符入弦"foo bar"。请注意,从仅向前读取C程序的角度来看,第二个文字仍然看起来像"bar"

虽然我认为这是一种压缩字符串集合而不增加ELF文件格式复杂性的聪明方案,但是出于深奥的原因,这也给我带来了麻烦(在后期处理ELF文件并对其进行各种分析时)。如何关闭GCC的此功能?

c gcc elf

5
推荐指数
1
解决办法
234
查看次数

标签 统计

c ×1

elf ×1

gcc ×1