库的相关知识

1. 库的基本概念

在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。通俗的说就是把这些常用函数的目标文件打包在一起,提供相应函数的接口,便于程序员使用。在使用函数时,只需要包对应的头文件即可。按照库的使用方式又可分为动态库和静态库,在不同平台下对应后缀也有所不同。

WINDOWS下:.dll 后缀为动态库,.lib 后缀为静态库;
LINUX下:.so后缀为动态库,.a后缀为静态库。

2. 库的创建和使用

下面以VS平台介绍动态库和静态库的创建和使用方法以及其中涉及到的相关知识:

2.1 静态库的创建和使用

2.1.1 创建静态库

2.1.2 使用静态库

2.2 动态库的创建和使用

2.2.1 创建动态库

若要使得库函数或类可以外部应用程序所使用,需要在声明函数或类的时候在名字前面添加__declspec(dllexport)
相关知识参考:__declspec(dllexport)与__declspec(dllimport)

VS创建动态库步骤:

  1. 新建一个动态链接库项目
  2. 定义宏
  3. 编译生成dll和lib

2.2.2 使用动态库

正确链接一个动态库需要注意一下几点:

  1. 引用的接口的头文件路径要包含正确
  2. dll、lib库文件路径包含正确
  3. lib链接正确

出现链接问题一般有以下几点错误:

  1. 头文件、lib、dll路径问题
  2. lib文件未添加到“附加包含项”或未代码链接
  3. 系统版本、平台工具集版本、调试模式不对应
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值