Jadual Kandungan
Mengapa Linux perlu menyusun kod sumber?
Tutorial kod sumber kompilasi Linux
Rumah Operasi dan penyelenggaraan operasi dan penyelenggaraan linux Mengapa Linux perlu menyusun kod sumber?

Mengapa Linux perlu menyusun kod sumber?

Mar 17, 2023 am 10:21 AM
linux menyusun

Sebab: 1. Terdapat banyak versi Linux, tetapi setiap versi menggunakan perisian atau versi kernel yang berbeza, dan persekitaran yang bergantung pada pakej binari mungkin tidak semestinya dapat berjalan seperti biasa, jadi kebanyakan perisian menyediakan secara langsung kod sumber untuk diproses. 2. Mudah untuk menyesuaikan untuk memenuhi keperluan yang berbeza. 3. Mudah untuk operasi dan penyelenggaraan dan penyelenggaraan pembangun boleh dibungkus sebagai binari, tetapi pembungkusan perisian ini memerlukan kerja tambahan yang mahal, termasuk penyelenggaraan, jadi jika ia adalah kod sumber, pengeluar perisian akan mengekalkannya secara langsung.

Mengapa Linux perlu menyusun kod sumber?

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Mengapa Linux perlu menyusun kod sumber?

Secara umumnya, perisian kami dipasang dalam dua cara: yum (rpm) dan kompilasi kod sumber kita perlukan kod sumber? Kompil dan pasang beberapa perisian? Terdapat beberapa sebab untuk memilih kod sumber untuk menyusun dan memasang perisian:

  • Untuk memenuhi platform pengendalian yang berbeza, kami mempunyai banyak versi Linux, tetapi setiap versi menggunakan perisian atau versi kernel yang berbeza, dan Persekitaran yang bergantung kepada pakej binari kami mungkin tidak semestinya berjalan seperti biasa, jadi kebanyakan perisian menyediakan kod sumber secara langsung!

  • Mudah untuk disesuaikan untuk memenuhi keperluan yang berbeza. Banyak kali perisian yang kami perlukan boleh disesuaikan. Kebanyakan kod binari boleh dipasang dengan satu klik darjah kebebasan tidak tinggi!

  • Ia mudah untuk operasi dan penyelenggaraan, dan kod sumber kami boleh dibungkus sebagai binari, tetapi pembungkusan perisian ini memerlukan kerja tambahan yang mahal, termasuk penyelenggaraan, jadi jika Jika. ia adalah kod sumber, pengeluar perisian akan mengekalkannya secara langsung, tetapi jika ia binari, ia biasanya disediakan oleh penerbit Linux.

Tutorial kod sumber kompilasi Linux

Hampir semua perisian di Linux dibenarkan GPL, jadi hampir semua perisian akan menyediakan kod sumber.

Untuk dilaksanakan pada Linux, perisian mestilah fail binari Oleh itu, apabila kita mendapat kod sumber perisian, kita perlu menyusunnya ke dalam fail binari untuk dijalankan di Linux.

1 Proses penyusunan perisian

Menyusun kod sumber ke dalam fail binari yang boleh dijalankan di Linux memerlukan dua langkah:

<.>
  • Gunakan pengkompil gcc untuk menyusun kod sumber ke dalam fail objek

  • Gunakan pengkompil gcc sekali lagi untuk memautkan fail objek ke dalam fail binari

Proses ini nampak mudah, tetapi tidak. Kod sumber perisian sering dirangkumkan dalam berbilang fail sumber Selain itu, fail ini mempunyai kebergantungan yang rumit, dan penyusunan perlu dijalankan mengikut perintah yang ditetapkan, yang sudah pasti meningkatkan kesukaran penyusunan. Nasib baik, arahan buat boleh membantu kami memudahkan proses penyusunan.

Keseluruhan proses kompilasi dipekatkan dalam fail Makefile (memberitahu arahan make cara menyusun dan memautkan atur cara Apabila arahan make dilaksanakan, make akan mencari fail Makefile dalam direktori semasa, dan berdasarkan fail Ia diperlukan untuk melengkapkan keseluruhan proses penyusunan.

Fail Makefile dijana oleh arahan konfigurasi. Apabila melaksanakan perintah konfigurasi, konfigurasi akan menjana Makefile secara dinamik yang sesuai untuk sistem ini berdasarkan persekitaran sistem semasa untuk digunakan oleh arahan make.

2. Langkah pemasangan kod sumber Linux

  • Dapatkan kod sumber

    Muat turun kod sumber perisian ke /usr/ local/ dan nyahzipnya.

  • Lihat fail INSTALL dan README

    Selepas penyahmampatan, lihat fail INSTALL dan README Kedua-dua fail ini memperkenalkan secara terperinci kaedah pemasangan dan langkah berjaga-jaga perisian ini.

  • Buat Makefile

    Laksanakan perintah konfigurasi untuk menjana Makefile.

  • Kompil

    Laksanakan arahan make clean;make untuk menyusun kod sumber ke dalam fail binari.
    PS: Perintah buat bersih digunakan untuk mengosongkan fail sasaran yang dijana oleh kompilasi terakhir. Langkah ini adalah pilihan, tetapi untuk memastikan kejayaan penyusunan, adalah lebih baik untuk menambahnya. Cegah kegagalan penyusunan disebabkan oleh fail objek yang tinggal dalam perisian.

  • Pemasangan

    Laksanakan arahan make install untuk memasang fail binari yang disusun dalam langkah sebelumnya ke dalam direktori yang ditentukan.

3. Demonstrasi pemasangan

1) Masukkan /usr/local/ dan cipta direktori memcached :

cd /usr/local/
mkdir memcached
Salin selepas log masuk

2) Muat turun kod sumber memcached

wget http://memcached.org/files/memcached-1.4.29.tar.gz
Salin selepas log masuk

3) Nyahzip kod sumber

tar -zxvf memcached-1.4.29.tar.gz
Salin selepas log masuk

4) Laksanakan konfigurasi untuk menjana fail Makefile

./configure --prefix=/usr/local/memcached/
Salin selepas log masuk
Pada masa ini, fail Makefile akan dijana dalam direktori semasa.

Nota: Parameter –prefix menentukan direktori pemasangan perisian. Apabila arahan make install dilaksanakan, perisian akan dipasang dalam laluan ini Jika parameter ini tidak ditentukan dan awalan tidak ditentukan, fail boleh laku akan diletakkan dalam /usr/local/bin secara lalai, dan perpustakaan. fail akan diletakkan dalam /usr/local/lib secara lalai , fail konfigurasi diletakkan dalam /usr/local/etc secara lalai. Fail sumber lain diletakkan dalam /usr/local/share.

5) Laksanakan make, baca arahan daripada Makefile, dan susun kod sumber

make
Salin selepas log masuk

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

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

make clean && make uninstall
Salin selepas log masuk

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

make install
Salin selepas log masuk

此时二进制文件会被安装到先前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视频教程

Atas ialah kandungan terperinci Mengapa Linux perlu menyusun kod sumber?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Empat cara untuk melaksanakan multithreading dalam bahasa c Empat cara untuk melaksanakan multithreading dalam bahasa c Apr 03, 2025 pm 03:00 PM

Multithreading dalam bahasa dapat meningkatkan kecekapan program. Terdapat empat cara utama untuk melaksanakan multithreading dalam bahasa C: Buat proses bebas: Buat pelbagai proses berjalan secara bebas, setiap proses mempunyai ruang ingatan sendiri. Pseudo-Multithreading: Buat pelbagai aliran pelaksanaan dalam proses yang berkongsi ruang memori yang sama dan laksanakan secara bergantian. Perpustakaan multi-threaded: Gunakan perpustakaan berbilang threaded seperti PTHREADS untuk membuat dan mengurus benang, menyediakan fungsi operasi benang yang kaya. Coroutine: Pelaksanaan pelbagai threaded ringan yang membahagikan tugas menjadi subtask kecil dan melaksanakannya pada gilirannya.

Cara Membuka Web.xml Cara Membuka Web.xml Apr 03, 2025 am 06:51 AM

Untuk membuka fail web.xml, anda boleh menggunakan kaedah berikut: Gunakan editor teks (seperti Notepad atau TextEdit) untuk mengedit arahan menggunakan persekitaran pembangunan bersepadu (seperti Eclipse atau NetBeans) (Windows: Notepad Web.xml; Mac/Linux: Open -A -A TextEdit Web.xml)

Bolehkah penterjemah Python dipadam dalam sistem Linux? Bolehkah penterjemah Python dipadam dalam sistem Linux? Apr 02, 2025 am 07:00 AM

Mengenai masalah menghapuskan penterjemah python yang dilengkapi dengan sistem Linux, banyak pengagihan Linux akan memasang semula penterjemah python apabila dipasang, dan ia tidak menggunakan pengurus pakej ...

Untuk apa yang paling baik digunakan oleh Linux? Untuk apa yang paling baik digunakan oleh Linux? Apr 03, 2025 am 12:11 AM

Linux paling baik digunakan sebagai pengurusan pelayan, sistem tertanam dan persekitaran desktop. 1) Dalam pengurusan pelayan, Linux digunakan untuk menjadi tuan rumah laman web, pangkalan data, dan aplikasi, menyediakan kestabilan dan kebolehpercayaan. 2) Dalam sistem tertanam, Linux digunakan secara meluas di rumah pintar dan sistem elektronik automotif kerana fleksibiliti dan kestabilannya. 3) Dalam persekitaran desktop, Linux menyediakan aplikasi yang kaya dan prestasi yang cekap.

Bagaimana keserasian Debian Hadoop Bagaimana keserasian Debian Hadoop Apr 02, 2025 am 08:42 AM

Debianlinux terkenal dengan kestabilan dan keselamatannya dan digunakan secara meluas dalam persekitaran pelayan, pembangunan dan desktop. Walaupun kini terdapat kekurangan arahan rasmi mengenai keserasian langsung dengan Debian dan Hadoop, artikel ini akan membimbing anda tentang cara menggunakan Hadoop pada sistem Debian anda. Keperluan Sistem Debian: Sebelum memulakan konfigurasi Hadoop, sila pastikan sistem Debian anda memenuhi keperluan operasi minimum Hadoop, yang termasuk memasang Java Runtime Environment (JRE) dan pakej Hadoop. Langkah Penyebaran Hadoop: Muat turun dan Unzip Hadoop: Muat turun versi Hadoop yang anda perlukan dari laman web Apachehadoop rasmi dan selesaikannya

Adakah saya perlu memasang klien oracle semasa menyambung ke pangkalan data oracle menggunakan GO? Adakah saya perlu memasang klien oracle semasa menyambung ke pangkalan data oracle menggunakan GO? Apr 02, 2025 pm 03:48 PM

Adakah saya perlu memasang klien oracle semasa menyambung ke pangkalan data oracle menggunakan GO? Semasa membangun di GO, menyambung ke pangkalan data Oracle adalah keperluan biasa ...

Adakah debian rentetan serasi dengan pelbagai pelayar Adakah debian rentetan serasi dengan pelbagai pelayar Apr 02, 2025 am 08:30 AM

"Debianstrings" bukan istilah standard, dan makna khususnya masih belum jelas. Artikel ini tidak dapat mengulas secara langsung mengenai keserasian penyemak imbasnya. Walau bagaimanapun, jika "debianstrings" merujuk kepada aplikasi web yang dijalankan pada sistem Debian, keserasian penyemak imbasnya bergantung kepada seni bina teknikal aplikasi itu sendiri. Sebilangan besar aplikasi web moden komited untuk keserasian penyemak imbas. Ini bergantung kepada standard web berikut dan menggunakan teknologi front-end yang serasi (seperti HTML, CSS, JavaScript) dan teknologi back-end (seperti PHP, Python, Node.js, dll.). Untuk memastikan bahawa aplikasi itu serasi dengan pelbagai pelayar, pemaju sering perlu menjalankan ujian silang dan menggunakan responsif

See all articles