comdat-folding相关内容

有什么方法可以为功能指针比较生成警告?

我花了很长时间才追踪到我的代码中有一个错误是由 / OPT:ICF 触发的: 因为 / OPT:ICF可以将同一地址分配给不同的函数或只读数据成员(使用/ Gy编译的const变量),它可能会破坏依赖于函数或只读数据成员的唯一地址的程序。 (我一直在存储和比较函数相等的指针,当链接器丢弃相同的函数时,该指针将中断。) 现在,我需要找到可能做过这种事情的每个地方。 测试用例当 ..
发布时间:2020-10-06 23:48:03 C/C++开发

MSVC编译器之间的关系COMDAT折叠的链接器选项

这个问题对SO有一些答案,但是我的稍有不同.在标记为重复项之前,请先试一下. MSVC始终提供/Gy compiler 选项,以使相同的功能可以折叠到COMDAT部分中.同时,链接器还提供了/OPT:ICF选项.我的理解正确吗,这两个选项必须同时使用?也就是说,前者将功能打包到COMDAT中,而后者消除了冗余COMDAT.正确吗? 如果是,那么我们要么同时使用这两个功能,要么将它们都关 ..