gpt4 book ai didi

c++ - 有没有一种在 C/C++ 中生成 nop 操作码的可移植方法?

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:33 25 4
gpt4 key购买 nike

在汇编中,有 nop操作码。假设我想单独使用 C/C++ 语法在生成的程序集中包含该操作码。有什么可移植的方法可以实现吗?

看完this , 我试着编译 (void)0;在最新的 MSVC 15.5.2 中没有成功生成 n​​op 指令,启用或不启用优化。

自内联汇编 is not ISO C 标准的一部分及其在 C++ 中的支持是 conditional ,我想避免这种情况。

在 Microsoft Visual Studio 中,我知道我可以使用 header <intrin.h> 中定义的 __nop() 函数如记录here成功创建单个 nop在生成的程序集中。

最佳答案

不,没有可移植的方法。

虽然编译器通常会为或多或少的奇异情况提供相当多的内部函数,并且通常还会提供一些内联编写汇编代码的方法,但这些都不是标准化的。

并且任何明显对应于“无操作”的不 protected 源代码级构造都没有机会抵抗最基本的优化。

关于c++ - 有没有一种在 C/C++ 中生成 nop 操作码的可移植方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48246046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com