Electronic Joint Business

Solution for E-Business

在 Visual C++ 中使用嵌入汇编

文章评价: 如果你的应用对性能要求十分严苛,使用汇编语言来进行编程无疑是最佳选择。不过,编程技术发展到今天,代码动辄百万行,直接用汇编语言来进行编程,成本实在太高了。作为一种折中方案,你可以选择在部分代码里使用汇编语言 — Inline Assembly 以达到改善性能的目的。   所谓嵌入汇编 — Inline Assembly 也叫做内联汇编,即直接在 C/C++ 代码里加入汇编语言代码。同传统的汇编方式相比,我们可以完全避免那些烦琐的汇编和链接步骤,可以直接在汇编代码中使用 C 变量名和函数名 。这样一来汇编代码就能够很容易地 C 语言程序紧密而自然地结合在一起了。另外,由于是把汇编语句和 C 或者 C++ 语句混合在一起进行编程,我们还将可以实现许多原来光凭 C 或者 C++ 语句无法办到的事。GCC, Visual C++ 等都提供了各自的嵌入汇编的实现。在 Visual C++ 中使用嵌入汇编不需要额外的编译器和联接器,十分的方便。 在 VC++ 中,嵌入汇编主要用于如下场合: 使用汇编语言写函数; 实现那些对速度要求非常高的代码; 设备驱动程序中用于直接访问硬件; “Naked” 函数的 prolog 和 epilog。 所谓 Naked 的函数,VC++ 不帮着做栈处理,需要用户自己取输入参数、保护寄存器、甚至自己写 ret 等等,因此称为 “纯粹”的函数(asm 函数)。有关 Naked 函数可以参考: Rules […]

, , , ,

Comments are currently closed.