GCC 编译命令笔记

1. 将C文件编译并链接为可运行文件:     gcc -o hello hello.c -I/usr/include(引用头文件位置)

2.  编译文件: gcc -c hello.c

3. 需要链接库: gcc -o hello hello.c /usr/lib/libm.a(绝对路径); gcc -o hello helloc -lm(到默认库目录查找指定静态库文件.a或是动态库文件.so);

  如需增加库搜索文件则为 gcc -o hello -L/usr/testlib/lib hello.c -lm

4. 编译自己的静态库,首先用gcc -c program.c将其编译为.o文件,再用ar crv libtest.a(必须符合库命名规范,即lib + 名 + .a/so) program.o(可为多个.o文件合集),在某些linux系统中还需要使用ranlib libtest.a为库生成一个内容表;接下来的使用与系统函数库一样,即把它扔进默认库或是用-L进行指定。

5. 共享库建立和使用比较麻烦,具体实现可参考http://blog.youkuaiyun.com/winki7/article/details/625704

  对程序使用ldd命令可以看到其运行所需的共享库及其地址。


注: 共享库和静态库的最大区别在于,对于每一个引用该库的程序,静态库在内存中会有多个副本,即每一个程序拥有这样的副本,而共享库是动态链接的,只有一个副本!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值