其实很早就接触到了DLL相关知识,只是最近项目要用到了,才想起来好好的学习一下。学习DLL前先学习一下静态库。
静态库
注意是Visual C++里面的Windows桌面,里面的静态库。建完之后得到这样的解决方案。
生成的文件里面包括这些,自己写的代码不放在这些文件里面,新建一个ok.h与ok.cpp,注意里面要写进去#include "stdafx.h",不写的话得报错。
//ok.h
#include "stdafx.h"
int add(int a, int b);
//ok.cpp
#include "stdafx.h"
int add(int a, int b)
{
return a + b;
}
完成了这些就右键这个项目,点击生成,是生成,不能运行。
生成过后就可以在项目下的Debug文件中看到文件后缀为lib的文件了,是项目文件中的Debug,不是里面的那个。到这里其实一个简单的静态库就已经生成好了,就可以用了。
生成一个Windows控制台应用程序,在使用方法上,我看好多人都是用vs里面改项目属性,改依赖项,连接器的附属库目录和附加依赖项,这里就不说那个了,之后直接在代码里面导入。
生成了这个Windows控制台应用程序后,将他设置为启动项。
里面的文件如下:
在pch.h里面导入库和包含头文件
然后在主函数里面就可以直接用库里面的add函数了,写着写着就发现了一件很傻逼的事,我就想,头文件直接包含绝对路径不久可以调用了吗,还要导入毛线库呀。试了一下然后出错了……
大概的静态库就差不多是这样了,虽然简单,但当时还是让我有点萌币的,还接着学吧!