【文件属性】:
文件名称:链接库知识锦集
文件大小:48KB
文件格式:DOCX
更新时间:2016-10-07 04:20:48
dll知识
静态连接库,动态链接库知识。__declspec(dlldexport)/__declspec(dllimport)含义及使用
__stdcall含义及使用
各种类型dll的含义及使用和区别。
-----------------------------------------------------------------
_stdcall的作用:
这是一种函数调用约定,什么是函数调用约定?
函数调用约定是指当调用一个函数时,参数会被传递给被调用函数和返回值会被传递给调用参数,函数调用约定就是描述参数是怎么被传递的和有谁平衡堆栈的,当然还有返回值。
函数调用约定有:__stdcall,__cdecl,__fastcall,__thiscall,__nakedcall,__pascal
按照参数传递顺序分类:
1. 从右到左入栈:__stdcall、__cdecl、__thiscall(都是两个下划线)
2. 从左到右入栈:__pascal、__fastcall(都是两个下划线)
堆栈清理:
1. 调用者清除栈
2. 被调用函数返回后清楚栈
_stdcall是Wind32 API函数绝大多数采用的调用约定方式,WINAPI也只是_stdcall的一个别名而已。
__stdcall调用约定的主要特征是:
1、参数是从右往左传递的,也是放在堆栈中。
2、函数的堆栈平衡操作是由被调用函数执行的。
3、在函数名的前面用下划线修饰,在函数名的后面由@来修饰并加上栈需要的字节数的空间