makefile的前世今生---by 香蕉麦乐迪

本文详细介绍了Linux下的编译原理,包括file命令、编译过程、函数库的动态与静态区别,以及ldconfig和ldd的用法。接着讲解了make和configure在编译中的作用,如何生成makefile文件,并给出了手动编写和使用configure的例子。最后讨论了软件安装的方式,以及gcc的简易用法和makefile的便利性。
摘要由CSDN通过智能技术生成

一:基本原理

1、file命令可以查看文件的类型:

比如file 111.jpg

111.jpg: JPGE image data, JFIF standard 1.02

2、编译的过程

以c语言为例,以文本文件编写的源代码,会被gcc编译成2进制的可执行文件;中间有一步,先会生成.o文件(目标文件),然后将.o文件与我们调用的函数库链接,最后生成可执行文件;

3、函数库:动态函数库和静态函数库

动态函数库的执行过程:


从外部动态函数库的执行过程可以发现,动态函数库的优点是源程序生成的可执行文件会小很多,而且函数库升级方便;

在linux中静态函数库后缀.a,动态函数库后缀.so;

存放的路径一般都在/lib /usr/lib中;

使用ldconfig命令可以将指定的函数库加载到内存中,这样可以加快常用的动态函数库的速度;

ldconfig的语法如下:

ldconfig [-f  conf_file]  [-C cache]

ldconfig [-p]

简单解释读者就会明白:我们直接执行ldconfig,ldconfig会查看/etc/ld.so.conf文件,该文件中可以添加目录比如/usr/local/lib  这样ldconfig命令会将该目录下的.so文件加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值