DLL的概念
可以把库(动态/静态)看成是一种仓库,它提供给你一些可以直接拿来用的变量,函数,或者类
静态链接库和动态链接库都是采用共享代码的方式,如果采用静态链接库,整个库都会包含在最终生成的exe文件中
但如果采用动态库的方式:DLL不必包含在最终的EXE文件中,EXE文件可以动态的引用和卸载与EXE独立的DLL文件
DLL的动态库与编译器无关:按照一定规则,不同的语言之间可以互相调用DLL库
静态库的创建与编译:
首先打开VS创建一个CPP空项目,设置为.lib静态库
创建一个类,在构造函数中输出文字用于演示
保存后退出,再创建一个EXE项目用于调用静态库
右键项目属性->c/c++->General->Additional Include Directory 在这里附加静态库的头文件
把刚刚的项目中的头文件导入
注意:这里导入的是项目的头文件,而不是静态库!!
用静态库中的类创建一个项目,发现创建失败,原因是只导入的头文件,类的实现没有导入
因此要导入库
右键属性->Linker->Genral->Additional Library directories :将要导入的库的文件夹输入
之后再在Linker->Input->additional dependencies 中添加静态库
Build项目,可以正常运行,至此,静态库成功创建并导入