Microsoft Visual C++ (CLI ではなく、標準のネイティブ C++ のみ) を使用する場合、インライン アセンブリによって関数の最適化が無効になりますか?
IDAで確認したところ、ブロック外の関数コードの一部が変わっているようですが、原因がわかりません。この関数は (比較的) 単純で、ビット操作といくつかの計算が含まれていますが、外部呼び出しはありません。
私が考えることができる他の考えられる原因は次のとおりです。
- インライン アセンブリでのデバッグを有効にする追加のプロビジョニング。
- 例外処理の変更 (実際にはこのようには見えませんが)
- 未知のコンパイラ ロジックによる、他の何かの部分的なインライン化。
何か案は?