MS C++ 中的内联汇编是否需要类似 volatile 的东西来防止优化器干预
Does inline assembly in MS C++ require something like volatile to prevent optimizer meddling
我知道在 GCC 中使用内联汇编器时,您可以使用关键字 volatile
修饰汇编部分,以防止优化器四处移动。
Microsoft C++ 中是否有类似的东西,或者优化器是否默认单独保留内联代码?
没有这样的选项,但优化器不会尝试优化内联程序集。
如果有的话,它将对周围代码使用更少优化,因为它不会分析程序集的确切效果。
我知道在 GCC 中使用内联汇编器时,您可以使用关键字 volatile
修饰汇编部分,以防止优化器四处移动。
Microsoft C++ 中是否有类似的东西,或者优化器是否默认单独保留内联代码?
没有这样的选项,但优化器不会尝试优化内联程序集。
如果有的话,它将对周围代码使用更少优化,因为它不会分析程序集的确切效果。