前言
思考1: 库的本质是什么?
在一个C++工程中,并不是所有代码都会编译成可执行文件。只有带有main函数的文件才会生成可执行程序。而另一些代码,我们只想把它们打包成一个东西,供其他程序调用这个东西叫作库(Libray),实际上也可以看作一个压缩包(里面是编译好的二进制函数)。
库分为静态库和动态库,分别以 .a 和 .so为后缀名。
区别:静态库每次被调用,都会生成一个副本,而共享库则只有一个副本。
一、如何创建一个库?
库 应包含 对应的头文件和库文件
头文件:C++头文件的作用
例如:c++语言环境下 创建库和头文件
创建库文件
1.可创建一个 XXX.cpp文件(没有main 函数,即这个库中没有可执行文件)
2.在CMaKeList.txt 中添加
add_library(库名字 XXX.cpp ) #生成静态库 ,
或
add_library(库名字 SHARED XXX.cpp ) #生成共享库
*函数 add_library 生成静态库 *
1)add_library(库名字 XXX.cpp ) 生成静态库 .a
2)add_library(库名字 SHARED XXX.cpp) 生成共享库 .os
告诉cmake 把这个文件编译成库。