【发布时间】:2019-08-24 13:40:34
【问题描述】:
几年前,我编写了一些重要的 Cpp 代码,这些代码通过切换到汇编语言的编码命令访问硬件寄存器。我丢失了编译器和计算机。请告诉我一个允许在 Cpp 代码中间进行内联汇编的 Cpp 编译器。英特尔处理器,Windows。谢谢。
看来我的问题不够清晰。我很抱歉。给出的答案是对代码的复习。做得好。今天给出的答案表明 C++ 编译器可能没有针对 64 位汇编器进行更新。这是一个更清晰的问题,只是部分回答了。它需要更新的响应。
我正在考虑购买一台 Intel i7 台式电脑。我将为 i/o 和设置编写 C++ 代码。内部循环将用汇编语言编写,以利用硬件寄存器乘法和除法:单独寄存器中的两个被乘数给出双寄存器乘积。我多年前的经验是,并非所有的 C++ 编译器都是一样的。市面上众多品牌的 C++ 软件中,哪一个提供了与汇编程序、__asm 的良好链接,并充分利用了 64 位机器?
我觉得这个问题还没有被问到。到目前为止,感谢您提供的出色答案。
【问题讨论】:
-
肯定是 Gcc 和 Clang。
-
MSVC 也支持这一点。
-
我很确定大多数编译器都会这样做。请阅读某些编译器的文档以了解如何执行此操作。大多数编译器使用
asm关键字。 -
引用的答案解释了各种编译器的语法问题。我评论的答案直接解决了最近编译器版本的兼容性和功能。由于我的第一个问题含糊不清,请您删除重复的问题指示符。谢谢。