linux系统软件安装之源码编译安装

一、源码编译安装与RPM包编译安装的区别

rpm安装功能确定且相对来讲操作方便,源码编译功能可以自己选择。

二、源码编译安装的过程解析

源码—->预处理器—->编译器—->目标代码—->编译器—->二进制代码(然后加入库文件等)—->可执行文件

三、编译过程详解
  1. 安装编译工具(gcc make)
  2. 配置(configure)
    举例:./configure –prefix=/usr/local/nginx –with_http_ssl_module
    说明:编译器在开始工作之前,需要知道当前的系统环境,比如标准库在哪里、软件的安装位置在哪里、需要安装哪些组件等等。这是因为不同计算机的系统环境不一样,通过指定编译参数,编译器就可以灵活适应环境,编译出各种环境都能运行的机器码。这个确定编译参数的步骤,就叫做”配置”(configure)。

  • 确定标准库和头文件的位置(编译器通过配置文件知道其存放的位置)
  • 确定依赖关系:在大型的源码文件中往往存在依赖关系,编译器需要确定编译的先后关系(加入A文件依赖B文件,编译器应该做到以下两点:只有B文件编译完成后,才开始编译A文件;当B文件发生变化时,A文件重新编译。)
  • 头文件的预编译:编译器在编译源码之前,先编译头文件。
  • 编译:预处理之后,编译器开始生成机器码。(生成对象文件)
  • 连接:对象文件必须转成可执行文件才能运行,编译器的下一步工作,就是把外部函数的代码,添加到可执行文件中(通过拷贝,将外部函数库添加到可执行文件当中叫做静态连接)
  • 安装(make install):上一步的连接是在内存中进行的,即编译器在内存中生成了可执行文件。下一步必须把可执行文件保存到用户事先指定的安装目录。

猜你喜欢

转载自blog.csdn.net/myydebk666/article/details/82633870