Win32日记之 动态库 静态库 静态链接

来源:互联网 发布:淘宝服装平铺拍摄 编辑:程序博客网 时间:2024/05/21 17:35

静态库 以lib为后缀 当程序需要的时候使用#program comment(lib," lib_Name") 来进行引用并且要在VS 工程里面设定库目录 ,或者不使用命令直接点工程里面的Link ->input

添加你所需要的静态库;静态库是直接把代码给嵌入程序里的一种技术,特点就是会让生成的exe很大


动态库:又称共享库

动态库 的静态加载:生成动态库时会有dll,lib, h,3个文件 h文件用于客户程序员的一个函数头参考,lib文件只有符号表 没有数据,dll里面才存在数据,如果使用静态加载则需要把dll拷贝到当前exe目录下这也是为什么我们看很多程序目录下会有N多dll文件.或者去系统目录下查找,但是一般我们使用在当前的地方, lib文件用于静态加载我们仍然像静态库一样的使用法则只不过我们多了一个dll;


动态加载:

当没有lib文件的时候就需要动态加载注意动态加载的时候是不能加载类的,我们可以直接把动态库房在目录下然后提供一个H文件给客户程序员使用,程序员使用需要三部曲

1获取一个dll的实例句柄更加的像加载到内存, 返回一个实例句柄如果失败返回null Loadlibary(dll名称)

2.获取这块内存里的指定函数      返回当前函数地址 GetProcAddress 

3.使用完释放 Freelibary(返回的实例句柄);

原创粉丝点击