naked 函数

来源:互联网 发布:网络呼叫中心 编辑:程序博客网 时间:2024/05/26 14:12

vc 提供了一种叫做naked函数的声明。naked意思为赤裸的意思,需要程序员管理堆栈,退出时需要显示调用ret,以及平衡堆栈。

当然带来的好处是免去了编译器默认为我们做的那些不必要的工作(很多费代码)。

 

以下是一个简单的naked函数的例子

 

 

 

 naked 函数默认为__cdecl调用,需要调用者平衡堆栈(如果使用call调用时)。

 

 

 

在调用sum函数后,需要将esp加上8(两个dword的长度)。

 

另外注意的是,调用C函数是,不能直接使用call printf,而需要使用 call dword ptr[printf]

 

原创粉丝点击