软件安装与升级——Tarball
所谓的
Tarball
文件,就是将软件的所有原始码文件先以tar
打包,然后再以压缩技术来压缩。
Tarball
文件通常是通过tar
和gzip
来打包压缩,所以扩展名会写成*.tar.gz
或*.tgz
。不过,之后由于bzip2
和xz
的压缩率较佳,所以Tarball
渐渐的以bzip
或xz
的压缩技术来取代gzip
,所以档名会变成*.tar.bz2
、*.tar.xz
之类的。Tarball
是一个软件包,加压后,会看到里面通常包含以下文件:
- 源代码文件
- 侦测程序文件(configure 或 config)
- 软件的简易说明与安装说明(INSTALL 或 README)
gcc(编译、参数、连接)
gcc
是Linux上最标准的编译程序。下面是该命令的一些简易用法。
# 仅将原始码编译为目标文件,并不制作连接等功能
[root@instance-d619ad0f ~]# gcc -c hello.c
# 在编译的时候,依据作业环境基于优化执行速度
[root@instance-d619ad0f ~]# gcc -O hello.c -c
# 会自动产生hello.owenjian,并进行优化
# 在进行 binary file 制作时,将连接的函数库与相关路径填入
[root@instance-d619ad0f ~]# gcc sin.c lm -L/lib -I/user/include
# 这个指令较常下达在最终连结成binary file 的时候
# -lm 指的是 libm.so 或 libm.a 这个函数库文件
# -L 后面接的是路径,刚刚上面那个函数库的搜寻目录
# -I 后面接的是原始码内的 include 文件所在目录
# 将编译的结果输出成某个特定的档名
[root@instance-d619ad0f ~]# gcc -o hello hello.c
# -o 后面接的是要输出的 binary file 文件名
# 编译的时候,输出较多的讯息说明
[root@instance-d619ad0f ~]# gcc -o hello hello.c -Wall
# 加入 -Wall 后,程序的编译会变的较为严谨一点,所以警告讯息也会显示出来
make(宏编译)
基本用法
当原始码文件非常多时,我们直接用gcc
进行编译连接会非常麻烦,而且如果修改了原始码的某个代码,重新编译也非常麻烦。所以我们可以用make
来进行宏编译,这样可以节省好多成本。以下是一个简单的案例,共有main.c
、haha.c
、sin_value.c
、cos_value.c
四个文件,先直接用gcc
进行编译连接。