如何将ASM obj文件与C ++程序集成?

时间:2011-10-08 22:35:21

标签: c++ visual-studio-2010 visual-c++ masm masm32

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

所以我想知道:

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

2 个答案:

答案 0 :(得分:3)

所有这些样品都符合您的要求:

http://msdn.microsoft.com/en-us/library/t13a3526%28v=VS.80%29.aspx

您必须让visual studio自动将它们“转换”为新的项目格式,但我只是尝试使用PRIMESSTEP2示例并且它有效。

您只需要一个功能原型,如:

void sieve(void);  // prototype for Sieve of Eratosthenes function

然后你可以在asm中实现它们,它们将链接在一起。您可以通过将它们放在EAX寄存器中来返回值,它将作为C / C ++中的返回值传递。

答案 1 :(得分:0)

使用内联汇编程序会不会更容易?