【Linux】动静态库
在Linux中,动态库(Dynamic Library)和静态库(Static Library)是两种常见的库形式。
静态库:
静态库是在编译时直接链接到可执行文件中,因此生成的可执行文件比较大,但是运行时不再依赖于库文件。
创建静态库:
gcc -c lib.c
ar rcs liblib.a lib.o
使用静态库:
gcc -o main main.c -L. -llib
动态库:
动态库是在运行时由系统动态加载到进程中,因此生成的可执行文件比较小,但是需要在系统中安装库文件。
创建动态库:
gcc -shared -fPIC -o liblib.so lib.c
使用动态库:
gcc -o main main.c -L. -llib
在运行可执行文件前,需要确保动态库文件在系统的库路径下,如/usr/lib
或者在LD\_LIBRARY\_PATH环境变量指定的路径中。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/library
或者将动态库文件复制到系统的库路径中。
sudo cp liblib.so /usr/lib
以上是创建和使用静态库和动态库的基本步骤和示例。
评论已关闭