首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么将用C声明的函数用汇编来实现

2013-11-08 
如何将用C声明的函数用汇编来实现?在头文件test.h中有函数声明:void *test(int a,intb)在test.cpp中如何

如何将用C声明的函数用汇编来实现?
在头文件test.h中有函数声明:
void *test(int a,intb);

在test.cpp中如何用汇编来实现?不需要考虑实际函数的实现。
我尝试
__asm{
.text:
.globl test;
xxx
}

但是在第一行就会报编译错误(编译器:MSVC)。 汇编定义函数
[解决办法]
.h : void *test(int a,intb);

.cpp : 

void *test(int a,intb)
{
__asm {
   mov eax,[a]
   mov ecx,[b]
   //......do anything u want!
}
}

够简单了吧.另外别忘了把GCC里面的AT&T汇编格式转成intel格式的!
[解决办法]
MASM语法大概是这么写.



test proc a:DWORD,b:DWORD
...
test endp
[解决办法]
看看例子先
http://msdn.microsoft.com/en-us/library/vstudio/5sds75we.aspx
[解决办法]
每种编译器的嵌入汇编都不太一样,VC的参考MSDN或者是http://www.cppblog.com/xingkongyun/archive/2008/12/21/70003.html

引用:
在头文件test.h中有函数声明:
void *test(int a,intb);

在test.cpp中如何用汇编来实现?不需要考虑实际函数的实现。
我尝试
__asm{
.text:
.globl test;
xxx
}

但是在第一行就会报编译错误(编译器:MSVC)。

热点排行