C++第三方库使用
- 在程序的源文件(如 .c 和 .cpp 文件)编辑阶段,为了使用第三方库,我们一般会在编辑器中使用 #include 指令来包含库的头文件( .h或 .hpp 文件)。
- 编写好程序的源文件后,在编译阶段,编译器会根据头文件中声明的函数、类等信息去寻找这个函数或类的实现文件(如 .lib 文件)。
- 源文件经过编译后会生成一系列目标文件(如 .o 文件),然后链接器将目标文件链接起来形成最终的可执行文件(如 .exe 文件),这就需要告知链接器具体需要链接第三方库中的哪些库文件(配置文件,就是 .lib 文件),一般第三方库会包含很多模块,可以只选择自己需要的模块的库文件,这样在调试编译时会快一些,如果不是特别影响速度的话,也可直接包含第三方库的总的库文件。
- 链接器在链接目标文件并生成最终的可执行文件时,有静态链接和动态链接两种方式。静态链接就是将所用到的第三方库的内容包含进程序的可执行文件中(如 .exe 文件),这样在没有安装所需库的相应功能的计算机上也可以直接运行该程序,缺点是,如果用到的库的内容比较大的话,最终程序的可执行文件相应的也很大。动态链接就是不将所用到的第三方库的内容包含进程序的可执行文件中,而只是写入一些必要的信息,以便程序运行时能正确调用所需功能。这个时候就需要计算机上装有第三方库,并正确配置计算机的环境变量,以便程序运行时能正确找到所需的动态链接库。