vc静态库

来源:互联网 发布:一根糯玉米的热量知乎 编辑:程序博客网 时间:2024/06/05 12:46

静态库的好处就是一个lib文件,最后的静态链接到exe中,简单方便;


静态lib库可以导出类和函数,与动态库是一样的,这里要注意一个与动态库的区别;

动态库需要    __declspec( dllimport ) 和  __declspec( dllexport ) 到导出或导入函数;

静态库的lib文件可以看做是cpp文件,只是被封装了;


1:

这里在导出函数的时候要注意一个细节:

.h文件中当然是函数声明,.cpp中是函数实现;

不过要注意,因为导出的(全局)函数,lib文件相当于.cpp文件,所以, .h文件中的函数前要添加“extern”;

如果不在.h文件前添加extern,其它exe可以用么?如果,你的lib工程与exe工程都在同一个计算机系统中,不删除编译后的.pch文件,应该没有问题,因为其实引用了cpp文件,可换到其它机器就不可以运行了;


2:

有人说 静态空中不可以引用其它lib文件,因为环境配置“属性”中没有“连接器”选项。

解决方法,可以换种方式,如果我想用静态方式封装GDI+几个函数可以这么添加GDI+的lib文件:

#pragma comment(lib,"gdiplus.lib")




原创粉丝点击