第二十三章: 编译程序

本章介绍的命令如下:

  • make: 维护程序的工具

23.1 什么是编译

编译是把源码翻译成计算机处理器的语言的过程.

用高级语言编写的程序, 经过另一个称为编译器的程序的处理, 会转换成机器语言. 一些编译器把高级语言翻译成汇编语言, 然后使用一个汇编器完成翻译成机器语言的最后阶段.

23.2 是不是所有的程序都需要编译

不是所有的程序都需要编译, 例如脚本语言由解释器执行, 就不需要编译.

23.3 编译一个C程序

在编译之前, 需要一些工具, 例如编译器, 链接器以及make. 在Linux环境中, 普遍使用的C编译器叫做gcc.

23.3.1 获取源代码

首先创建一个名为src的目录来存放源码, 然后使用ftp协议把源码下载下来:

mkdir src
cd src
ftp ftp.gnu.org
cd gnu/diction
get diction-1.11.tar.gz
bye

然后解压代码:

tar xzf diction-1.11.tar.gz

23.3.2 检查源代码树

23.3.3 生成程序

大多数程序都可以通过以下的简单的命令编译:

./configure
make

configure程序是一个shell脚本, 由源码树提供, 它的工作是分析程序建立环境.

configure命令会创建几个新文件, 其中最重要的是 Makefile. Makefile是一个配置文件, 指示make程序如何构建程序.

23.3.4 安装程序

打包良好的源码经常包括一个特别的make目标文件, 叫做install, 使用以下命令可以执行安装操作:

# 通常安装到 /usr/local/bin
sudo make install

23.4 本章结尾语

在本章中, 介绍了通过以下命令编译并安装程序:

./configure
make
make install

results matching ""

    No results matching ""