【发布时间】:2015-05-16 00:09:02
【问题描述】:
我正在审查一个 C++ MFC 项目。在一些文件的开头有这样一行:
#pragma optimize("", off)
我知道这会关闭所有以下功能的优化。但这样做的动机通常是什么?
【问题讨论】:
-
也许程序员喜欢程序爆炸时可靠的堆栈跟踪。也许他试图解决代码优化器错误。也许他不知道自己在做什么,并且施加了货物崇拜。
-
另一个原因是混淆生成的二进制文件。让逆向工程更难(当然如果源代码是开放的,这是没有意义的)。
-
@freakish 似乎
Themida在试图混淆VM中的 return 语句时对此进行了转发,请参阅文档中的 screenshot
标签: c++ visual-studio mfc