linux怎样实现c语言动态库与静态库的链接(-I(i的大写) -L -l的辨析)

在Linux系统中,静态库通常是.a文件,编译时只需提供其完整路径。动态库则是.so文件,链接时需使用-L指定库路径,-l指定去掉lib和.so的库名。静态库编译无需特殊设置,而动态库需要-L和-l选项。此外,-I用于指定头文件路径。

Linux系统中静态库是.a文件,编译链接.a文件只需要加上.a文件的完整的文件路径就可以了,比如:

gcc -o hello hello.c /usr/lib/libm.a

Linux系统的动态库是系统中的.so文件,编译链接动态库需要用-L参数指定动态库的搜索路径,还要用-l(这个是小写的L)指定动态库的名字(库名是砍头去尾得到的),lib中有libcrypto.so,砍头去尾得到crypto,比如:

gcc -o hello hello.c -L/usr/openssl/lib -lcrypto

Linux的静态库文件并不需要设置啊,编译链接.a静态库文件时只需要加上.a文件的完整路径就可以了,比如:

gcc -o hello hello.c /usr/lib/libm.a

只有编译链接动态库才需要用-L选项来设置动态库的搜索路径,比如这个命令:

gcc -o hello hello.c -L/usr/openssl/lib -lcrypto

-I:指定我们程序所需的头文件所在的路径(i的大写)

-L:指定我们程序所需的库文件所在的路径(软链接的库)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aurora Smith

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值