使用Microsoft Visual C++(不是CLI,仅是标准的 native C++)时,内联汇编是否会导致对该功能禁用优化?

当我使用IDA进行检查时,该块外部的某些功能代码似乎确实发生了变化,但是我不确定原因是什么。该函数(相对)简单,包含位操作和一些数学运算,但没有外部调用。

我可能想到的其他可能原因是:

  • 额外配置,以启用内联汇编中的调试。
  • 异常处理的变更(虽然看起来并不像这样)
  • 由于某些未知的编译器逻辑,部分内联了其他内容。

  • 有任何想法吗?

    最佳答案

    是的。请参阅MSDN文章:Optimizing Inline AssemblyAdvantages of Inline Assembly

    从文章:

    关于c++ - 内联汇编(__asm)块会阻止功能优化吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10357207/

    10-11 21:58
    查看更多