41 Windows VS封库及库引用

41.1 VS软件构建库过程

最近开发中需要构建自己的函数库,然后让别人去掉,之前没自己弄个,然后查看一下资料发现VS可以方便的对进行函数实现封库操作。

第一步:建立库工程

第二步:声明及实现相关函数

第三步:编译生成库文件

Lib里面包含了dll的描述信息,比如函数符号表,偏移地址等信息,而非实际代码,所以我们在vside里面包含这个Lib文件,vs在编译器期间会自动读取lib配置信息,然后去系统指定动态库目录加载dll库!

编译器只会在编译时间用到lib文件来获取dll库里的某些信息,并不会被加载到程序当中!

 

动态运行时库(MD/MDd)-静态运行时库(MT/MTd)-/MT、/MTd、/MD、/MDd各选项区别

  1. MT选项:链接LIB版的C和C++运行库。在链接时就会在将C和C++运行时库(LIBCMT.LIB、LIBC.LIB)集成到程序中,程序体积会变大。
  2. MTd选项:LIB的调试版。
  3. MD选项:使用DLL版的C和C++运行库,这样在程序运行时会动态的加载对应的DLL,程序体积会减小,缺点是在系统没有对应DLL时程序无法运行(需添加MSVCPxx.DLL、MSVCRxx.DLL)。
  4. MDd选项:表示使用DLL的调试版。
  5. 带T的链接静态库lib;带D链接动态库dll;带d为调试版本,库名加d

41.2 VS软件应用库过程

现在开始建立应用工程,应用刚才编译出来的库。

第一步:建立应用程序

第二步:讲库文件拷贝到新目录

第三步:项目属性中添加路径

 第四步:在链接器中指定依赖的库名称

 第五步:代码生成中指定运行方式(静态库为MT/动态库为MD)

第六步:代码实现及编译

 运行结果

猜你喜欢

转载自blog.csdn.net/Chasing_Chasing/article/details/105843305
41
41A