静态库是一种在编译时将库的代码直接嵌入到可执行文件中的库。静态库通常以 .a
文件形式存在。
优势:
类型:
ar
工具创建,包含多个目标文件(.o
)。应用场景:
动态库在程序运行时才被加载到内存中,通常以 .so
文件形式存在。
优势:
类型:
gcc
编译时加上 -shared
选项生成。应用场景:
hello.c
:hello.c
:main.c
:main.c
:LD_LIBRARY_PATH
环境变量):LD_LIBRARY_PATH
环境变量):原因:
LD_LIBRARY_PATH
。解决方法:
LD_LIBRARY_PATH
:LD_LIBRARY_PATH
:/etc/ld.so.conf
中添加库路径并运行 ldconfig
。原因:
解决方法:
-L
和 -l
选项正确指定库路径和名称。通过以上步骤和示例代码,你应该能够理解和使用 Linux 下的静态库和动态库,并解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云