<分区>
我想在 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 自动将它们“转换”为新的项目格式,但我只是用 PRIMESSTEP2 示例进行了尝试,它成功了。
您只需要一个函数原型(prototype),例如:
void sieve(void); // prototype for Sieve of Eratosthenes function
然后你可以在 asm 中实现它们,它们将链接在一起。您通过将值放入 EAX 寄存器来返回值,它将作为 C/C++ 中的返回值出现。
关于c++ - 如何将 ASM obj 文件与 C++ 程序集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700205/
相关文章:
c++ - g++ - 无法链接到使用 VS2012 构建的静态库
.net - 在 Windows Phone 7.1 中发送 HTTP 请求时出错
visual-studio-2010 - 扩展 Visual Studio 2010 C# Intellisense?
visual-studio-2010 - wchar_t 在 Visual Studio 中是 2 字节,存储 UTF-16。 Unicode 感知应用程序如何处理 U+FFFF 以上的字符?
c++ - Visual Studio 中的 "wcs"和 "_w"和 "_mbs"前缀
c++ - QList<T>::operator[] 中的 ASSERT 失败: "index out of range"
c++ - 调用 COM Release() 函数后指针是否应该设置为空?
c# - 我在 Mysql 中遇到希伯来语问题。我与 Visualstudio10、连接器和 linq 一起使用。我能做些什么?