我想在 Visual Studio 2010 中集成 ASM 和 C++ 代码。基本上,我希望能够在我的 C++ 代码中使用在 ASM 中创建的某些例程。
所以我想知道:
- 首先如何将 ASM obj 文件添加到 VS2010?
- 如何从代码的 C++ 部分调用 ASM 代码中的函数?
- 假设我创建了一个函数(在 ASM 中)计算一个值并将该值存储在税务登记簿中。假设它被称为计算。我是否能够使用以下内容在 C++ 中接收返回值:
int val=compute();
?
我想在 Visual Studio 2010 中集成 ASM 和 C++ 代码。基本上,我希望能够在我的 C++ 代码中使用在 ASM 中创建的某些例程。
所以我想知道:
int val=compute();
?所有这些样本都有您需要的东西:
http://msdn.microsoft.com/en-us/library/t13a3526%28v=VS.80%29.aspx
您将不得不让 Visual Studio 自动将它们“转换”为新的项目格式,但我只是使用 PRIMESTEP2 示例进行了尝试,并且成功了。
您只需要一个函数原型,例如:
void sieve(void); // prototype for Sieve of Eratosthenes function
然后您可以在 asm 中实现它们,它们将链接在一起。您通过将它们放在 EAX 寄存器中来返回值,它将作为 C / C++ 中的返回值出现。
使用内联汇编器不是更容易吗?