Microsoft Visual C++(CLIではなく、標準のネイティブC++)を使用している場合、インラインアセンブリの原因最適化をその関数で無効にしますか?インラインアセンブリ(__asm)ブロックは関数の最適化を妨げますか?
IDAを使用してチェックしたとき、ブロック外の機能コードの一部が変更されているように見えますが、その原因がわかりません。この関数は(比較的)シンプルで、ビット操作と数学を含みますが、外部呼び出しはありません。私は考えることができ
その他の原因としては、次のとおりです。
- エクストラプロビジョニングはインラインアセンブリでのデバッグを可能にします。
- 例外処理の変更(実際にはこのようには見えません)
- 未知のコンパイラロジックによる部分的なインライン展開。
ああ、いくつかの*が*すべての*最適化を無効にします。それは私の質問に完全に答えます。ありがとう。 – Polynomial