c++ - 在 Linux 中使用 C++ 中的内联汇编是否有比 GCC 或 Clang 实现更直观的方法?

标签 c++ linux inline-assembly

我首选的操作系统是 Ubuntu,我首选的 IDE 是 Code::Blocks。

我有一些 C++ 经验,今天我刚开始学习汇编,为了方便起见,我在我的 IDE 中使用 C++ 内联汇编。

GCC/Clang 内联汇编的语法很奇怪,在学习汇编时使用它似乎是个糟糕的主意。

目前,我在 VirtualBox 中使用 Windows 10 上的 Visual Studio,它有一个 _asm 宏,允许使用 native 汇编语法,我只是想知道是否有在 Linux 上实现相同体验的方法。

最佳答案

您可以使用内部函数 代替内联汇编。内部函数类似于汇编指令,但更易于使用,因为您不必担心寄存器和调用约定。几乎所有没有 C++ 等效指令的汇编指令都有内部函数。 参见 https://software.intel.com/sites/landingpage/IntrinsicsGuide

关于c++ - 在 Linux 中使用 C++ 中的内联汇编是否有比 GCC 或 Clang 实现更直观的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819160/

相关文章:

c++ - GCC 和 MSVC 之间的 digits10 差异

linux - inotify 不将 vim 编辑视为修改事件

gcc - 在扩展内联 ASM 中调用 printf

c - 'asm','__ asm'和'__asm__'有什么区别?

linux:双鼠标 - 具有多个鼠标指针的多个鼠标?

c++ - 为什么会出现这些汇编错误?

c++ - 如何实现在构造函数中使用自身的对象的析构函数

c++ - 在函数中填充结构图的最佳方法是什么

c++ - 在 C 函数中返回结构会导致段错误

xml - 如何计算一个单词在xml文件中出现了多少次