为什么有些网站更新的信息看不到,广州市住房和城乡建设局网站首页,东营两学一做网站,天堂伞在线观看2. 静态库的创建与使用静态库本质就是一组 .o 组成的压缩文件#xff0c;扩展名为 .a / .lib代码如下#xff1a;ar -crv libXXX.a mmmm.o nnnn.oXXX 是库名#xff0c;mmmm.o nnnn.o 是要打包的目标文件。crv 参数#xff0c;含义分别是c#xff1a; do not warn if the …2. 静态库的创建与使用静态库本质就是一组 .o 组成的压缩文件扩展名为 .a / .lib代码如下ar -crv libXXX.a mmmm.o nnnn.oXXX 是库名mmmm.o nnnn.o 是要打包的目标文件。crv 参数含义分别是c do not warn if the library had to be createdr replace existing or insert new file(s) into the archivev be verbose使用时只需在代码中引入 头文件链接时指定静态库的搜索路径(-L选项)和静态库名(不需要lib前缀和.a后缀-l选项)。代码如下g test.cpp -L.。/StaticLibrary -lXXX3. 动态库Window与Linux执行文件格式不同在创建动态库的时候有一些差异。Windows 下执行文件是 PE 格式动态库需要一个DllMain函数做出初始化的入口通常在导出函数的声明时需要有_declspec(dllexport)关键字。Linux下 gcc 编译的执行文件默认是 ELF 格式不需要初始化入口亦不需要函数做特别的声明编写比较方便。linux 下动态库的命名格式同静态库为 libXXX.so 格式。动态库的创建使用编译器即可不需要像静态库一样使用专门的打包工具。若要创建动态库源码编译时添加 -fPIC 选项链接时添加 -shared 选项。代码如下g -fPIC -shared -o libXXX.so xxx.cpp用法同静态库代码如下g test.cpp -L.。/DynamicLibrary -lXXX只是需要设置下搜索路径。默认搜索路径/lib/ /usr/lib。设置搜索路径编辑 /etc/ld.so.conf设置搜索路径运行 ldconfig 重建 /etc/ld.so.cache 文件。设置生效。4. 相关工具ldd 查看程序依赖的共享库(动态库)代码如下gcc / g 参数 -I(大写 ‘i’)-L(大写‘l’)-l(小写‘L’)1、 -I(大写 ‘i’) 头文件目录2、-L(大写‘l’) 库目录3、-l(小写‘L’) 库名大写是目录小写是库。上面就是Linux中静态库和动态库的创建介绍了通过本文的介绍相信你已经对Linux库有了一定的了解静态库和动态的后缀名分别是.a和.so可别弄错了哦。