41 Windows VS封库及库引用

本文详细介绍使用Visual Studio构建函数库的过程,包括库工程的创建、函数声明与实现、库文件编译,以及如何在应用工程中引用这些库。同时,解析了MD/MDd与MT/MTd选项的区别,帮助读者理解不同链接方式对程序体积和运行的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

第六步:代码实现及编译

 运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值