comdat-folding相关内容
我花了很长时间才追踪到我的代码中有一个错误是由 / OPT:ICF 触发的: 因为 / OPT:ICF可以将同一地址分配给不同的函数或只读数据成员(使用/ Gy编译的const变量),它可能会破坏依赖于函数或只读数据成员的唯一地址的程序。 (我一直在存储和比较函数相等的指针,当链接器丢弃相同的函数时,该指针将中断。) 现在,我需要找到可能做过这种事情的每个地方。 测试用例当
..
这个问题对SO有一些答案,但是我的稍有不同.在标记为重复项之前,请先试一下. MSVC始终提供/Gy compiler 选项,以使相同的功能可以折叠到COMDAT部分中.同时,链接器还提供了/OPT:ICF选项.我的理解正确吗,这两个选项必须同时使用?也就是说,前者将功能打包到COMDAT中,而后者消除了冗余COMDAT.正确吗? 如果是,那么我们要么同时使用这两个功能,要么将它们都关
..
考虑这两个函数: void foo(){} void bar(){} 是保证& foo!=& bar 同样, 模板 ? MSVC积极地COMDAT折叠函数,因此具有相同实现的两
..