Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Warum muss Linux Quellcode kompilieren?

Warum muss Linux Quellcode kompilieren?

青灯夜游
青灯夜游Original
2023-03-17 10:21:252555Durchsuche

Gründe: 1. Es gibt viele Versionen von Linux, aber jede Version verwendet unterschiedliche Software- oder Kernelversionen, und die Umgebung, auf der das Binärpaket basiert, läuft möglicherweise nicht unbedingt normal, sodass die meisten Softwareprogramme den Quellcode direkt für die Kompilierung und Installation bereitstellen. 2. Einfache Anpassung an unterschiedliche Anforderungen. 3. Praktisch für Betrieb und Wartung sowie für die Entwicklerwartung; der Quellcode kann als Binärdatei gepackt werden, aber das Packen dieser Software erfordert kostspielige zusätzliche Arbeiten, einschließlich Wartung. Wenn es sich also um Quellcode handelt, wird der Softwarehersteller ihn direkt warten.

Warum muss Linux Quellcode kompilieren?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Warum muss Linux Quellcode kompilieren?

Im Allgemeinen umfassen unsere Softwareinstallationsmethoden Yum (RPM) und Quellcodekompilierung, um einige Software zu installieren. Es gibt mehrere Gründe, den Quellcode zum Kompilieren und Installieren von Software zu wählen:

  • Um unterschiedliche Betriebssysteme zu erfüllen. Wir haben viele Linux-Versionen, aber jede Version verwendet unterschiedliche Software- oder Kernel-Versionen und die Umgebung, von der unsere Binärpakete abhängen nicht richtig funktionieren, daher stellt die meiste Software den Quellcode direkt zur Verfügung!

  • Einfache Anpassung an unterschiedliche Anforderungen. Die meisten Binärcodes können mit einem Klick installiert werden, sodass der Freiheitsgrad nicht hoch ist.

  • Es ist praktisch für Betrieb und Wartung sowie für die Entwicklerwartung. Unser Quellcode kann als Binärdatei gepackt werden, aber das Packen dieser Software erfordert kostspielige zusätzliche Arbeiten, einschließlich Wartung. Wenn es sich also um Quellcode handelt, wird dies direkt vom Softwarehersteller durchgeführt Wartung, aber wenn es sich um eine Binärdatei handelt, wird sie normalerweise vom Linux-Distributor bereitgestellt.

Linux-Kompilierungs-Quellcode-Tutorial

Fast die gesamte Software unter Linux ist GPL-lizenziert, sodass fast jede Software Quellcode bereitstellt.

Um unter Linux ausgeführt zu werden, muss eine Software eine Binärdatei sein. Wenn wir den Software-Quellcode erhalten, müssen wir ihn daher in eine Binärdatei kompilieren, damit er unter Linux ausgeführt werden kann.

1. Software-Kompilierungsprozess

Es sind zwei Schritte erforderlich, um den Quellcode in eine Binärdatei zu kompilieren, die unter Linux ausgeführt werden kann:

  • Verwenden Sie den gcc-Compiler, um den Quellcode in eine Objektdatei zu kompilieren

  • Verwenden Sie gcc erneut. Der Compiler verknüpft die Objektdatei in eine Binärdatei

Dieser Vorgang scheint einfach, ist es aber nicht. Der Quellcode einer Software ist oft in mehreren Quelldateien gekapselt. Darüber hinaus weisen diese Dateien komplizierte Abhängigkeiten auf, und die Kompilierung muss in strikter Übereinstimmung mit der angegebenen Reihenfolge erfolgen, was zweifellos die Schwierigkeit der Kompilierung erhöht. Glücklicherweise kann uns der Befehl make dabei helfen, den Kompilierungsprozess zu vereinfachen.

Der gesamte Kompilierungsprozess ist in der Makefile-Datei zusammengefasst (womit dem Befehl make mitgeteilt wird, wie das Programm kompiliert und verknüpft werden soll). Wenn der Befehl make ausgeführt wird, sucht make nach der Makefile-Datei im aktuellen Verzeichnis und schließt die gesamte Kompilierung entsprechend ab den Anforderungen im Prozess entsprechen.

Die Makefile-Datei wird durch den Befehl configure generiert. Beim Ausführen des Befehls „configure“ generiert „configure“ dynamisch ein für dieses System geeignetes Makefile basierend auf der aktuellen Systemumgebung zur Verwendung durch den Befehl „make“.

2. Schritte zur Installation des Linux-Quellcodes

  • Holen Sie sich den Quellcode
    Laden Sie den Quellcode der Software nach /usr/local/ herunter und entpacken Sie ihn.

  • Sehen Sie sich die INSTALL- und README-Dateien an.
    Sehen Sie sich nach der Dekomprimierung die INSTALL- und README-Dateien an. Diese beiden Dateien beschreiben die Installationsmethode und Vorsichtsmaßnahmen dieser Software im Detail.

  • Erstellen Sie ein Makefile.
    Führen Sie den Befehl configure aus, um ein Makefile zu generieren.

  • Kompilieren
    Führen Sie den Befehl make clean;make aus, um den Quellcode in eine Binärdatei zu kompilieren.
    PS: Der Befehl make clean wird verwendet, um die bei der letzten Kompilierung generierten Zieldateien zu löschen. Dieser Schritt ist optional, aber um den Erfolg der Kompilierung sicherzustellen, ist es besser, ihn hinzuzufügen. Verhindern Sie Kompilierungsfehler aufgrund verbleibender Objektdateien in der Software.

  • Installation
    Führen Sie den Befehl make install aus, um die im vorherigen Schritt kompilierte Binärdatei im angegebenen Verzeichnis zu installieren.

3. Installationsdemo

1) Geben Sie /usr/local/ ein und erstellen Sie das Memcached-Verzeichnis:

cd /usr/local/
mkdir memcached

2) Laden Sie den Quellcode von Memcached herunter

wget http://memcached.org/files/memcached-1.4.29.tar.gz

3) Entpacken der Quellcode

tar -zxvf memcached-1.4.29.tar.gz

4) Führen Sie configure aus, um ein Makefile zu generieren

./configure --prefix=/usr/local/memcached/

Zu diesem Zeitpunkt wird ein Makefile im aktuellen Verzeichnis generiert.

Hinweis: Der Parameter –prefix gibt das Softwareinstallationsverzeichnis an. Wenn der Befehl make install ausgeführt wird, wird die Software in diesem Pfad installiert. Wenn dieser Parameter und das Präfix nicht angegeben sind, wird die ausführbare Datei standardmäßig in /usr/local/bin abgelegt und die Bibliothek Die Datei wird standardmäßig in /usr/local/lib abgelegt, die Konfigurationsdatei wird standardmäßig in /usr/local/etc abgelegt. Andere Ressourcendateien werden in /usr/local/share abgelegt.

5) Führen Sie make aus, lesen Sie die Anweisungen aus dem Makefile und kompilieren Sie den Quellcode

make

此时make会读取Makefile文件,将源码编译成二进制文件,并存放在当前目录下。

执行这一步之前可以先进行清理作业:

make clean && make uninstall

6)执行make install,将软件安装至指定目录

make install

此时二进制文件会被安装到先前configure prefix参数设置的路径中去。
安装完成!

4、cmake命令(了解)

cmake就是一个与make同级别的编译工具,只不过它依靠的不是Makefile作为编译规则,而是根据CMakeLists.txt来编译的。
CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。

CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。
如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。

相关推荐:《Linux视频教程

Das obige ist der detaillierte Inhalt vonWarum muss Linux Quellcode kompilieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn