Linux编译器-gcc/g++使用(四)

  • 第二阶段:验证阶段
ldd mytest  //显示静or动态链接

在Linux中,编译形成可执行程序,默认采用的就是动态链接——提供动态库。

进行静态链接

gcc mycode.c -o mytest_static -static

在Linux中,如果要按照静态链接的方式进行形成可执行程序,需要添加-static选项——提供静态库。

安装C语言静态库

sudo yum install -y glibc-static

安装C++语言静态库

sudo yum install-y libstd C++-static

注:1.如果没有静态库,但就要-static,行不行?  行!

2.如果没有动态库,只有静态库,而且gcc能找到,这个过程也是可以的!

gcc默认优先动态链接,-static的本质就是改变优先级。

3.不一定是纯的全部动态链接或者静态链接。    混合的!

static只适配一次,所有链接要求全部变成静态链接

  • 动态静态链接的优点:

(优点)1.动态库因为是共享库,有效的节省资源(磁盘空间、内存空间、网络空间)

(缺点)2.动态库一旦缺失,导致各个程序都无法运行。

(优点)1.静态库不依赖库,程序可以独立运行;

(缺点)2.体积大,比较消耗资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值