4

我想在 Visual Studio 2010 中集成 ASM 和 C++ 代码。基本上,我希望能够在我的 C++ 代码中使用在 ASM 中创建的某些例程。

所以我想知道:

  1. 首先如何将 ASM obj 文件添加到 VS2010?
  2. 如何从代码的 C++ 部分调用 ASM 代码中的函数?
  3. 假设我创建了一个函数(在 ASM 中)计算一个值并将该值存储在税务登记簿中。假设它被称为计算。我是否能够使用以下内容在 C++ 中接收返回值:int val=compute();
4

2 回答 2

3

所有这些样本都有您需要的东西:

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++ 中的返回值出现。

于 2011-10-08T23:12:50.740 回答
0

使用内联汇编器不是更容易吗?

于 2011-10-08T22:43:01.650 回答