Alat pembangunan Linux yang dibenamkan termasuk: 1. alat vim ialah penyunting teks yang dibangunkan daripada vi Ia mempunyai penyiapan kod, kompilasi dan lompat ralat serta fungsi pengaturcaraan yang mudah digunakan; pengkompil yang dibangunkan oleh GNU; 3. Pengurus projek membuat, membuat ialah pengurus penyusunan projek automatik di Linux, dsb.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.
Apakah alat pembangunan Linux yang dibenamkan?
Alat pembangunan Linux terbenam
Menggunakan vim
1. Editor teks: vim + vscode : Belajar gunakan dan konfigurasi vim, pasang dan gunakan pemalam + pautan jauh vscode
2 Pengkompil gcc: Pilihan kompilasi biasa, pengeluaran dan penggunaan perpustakaan statik dan perpustakaan dinamik
3. penyahpepijatan titik putus, paparan memori, ralat memori penyahpepijatan
4 Pengurus projek membuat: menulis Makfile, penulisan Makefile berbilang direktori
5 6. alat pengurusan versi git (dalam talian: bahasa C)
7. Cmake (projek)
8 /gvim: editor teks gedit emac (di luar tetikus)
Senario yang berkenaan: penyuntingan fail tunggal + pemalam (sangat disesuaikan)>IDE
mod vim: mod baris arahan (kali pertama masuk, tekan a, i), mod baris bawah, mod sisip (esc bertukar ke baris arahan) wq simpan dan keluar
konfigurasi vim (vimc):
Ubah suai fail /etc/vim/vimc (nombor baris, gaya lekukan, sokongan tetikus)
vim /etc/vim/vimrc
Penggunaan arahan vim:
Baris arahan: yy salin p tampal dd padam u pulihkan baris sebelumnya
Ganti: nombor baris atau %s/old/new/gc
Edit berbilang fail: fail vim 1 fail 2 fail 3.
Lompat: n nama fail
simpan fail w r
sp+nama fail penulisan berbilang fail
penyusun gcc<> Perbezaan antara "" dan "": laluan carian adalah berbeza: carian terdahulu dalam direktori fail pengepala sistem "/usr/include", jika tidak, ralat akan dilaporkan Cari terakhir dalam direktori semasa, jika tidak, cari dalam direktori fail pengepala sistem Jika tidak, ralat akan dilaporkan
Spesifikasi: <> Mengandungi fail pengepala sistem "" Mengandungi tersuai fail pengepala
Pemprosesan yang berbeza Pengkompil mempunyai pemasang yang berbeza Semua fail pengepala dalam sistem berada dalam fail vim/pengguna/include/header#if 0 //注释 //#if 1//取消注释 #endif
Gambaran Keseluruhan gcc: Penyusun disediakan oleh Projek GNU (Pengkompil Unix cc) (rantai alat kompilasi g++ ld ldfd) –> (rantai alat kompilasi silang)
Apakah itu kompilasi silang ? .c->.s->.o->elf
Proses penyusunan kod pada mesin hos untuk dijalankan pada mesin sasaran
a\源文件到可执行经历了哪几个步骤?(预处理,编译,汇编,链接) b\预处理的任务:头文件展开(#include)、宏替换(#define)、条件编译(#ifdef)(#开头的代码) c\编译的任务:检查语法。转成汇编、生成汇编文件(.s/.S) d\汇编的任务:编译汇编文件,生成目标文件(.o) e\链接的任务:链接所有目标文件,生成符号表,生成可执行文件
-o (Penamaan semula boleh laku : format elf? )
-I: Tentukan laluan pihak ketiga untuk penyusunan fail pengepala
-S: Peringkat Kompilasi
-c: Teruskan ke peringkat pemasangan
-O1 -O2 -O3 (pengoptimuman kompilasi): Baidu menyemak perkara yang telah dilakukan masing-masing
-w (amaran tidak aktif) - Dinding (amaran terbuka): bertukar maklumat amaran
Fail perpustakaanPengkompil gcc (pengeluaran dan penggunaan perpustakaan statik dan perpustakaan dinamik)
Penyahpepijat gdb (penamaan biasa, ralat memori panggilan)
Buatan pengurus projek (tulisan makefile, penulisan Makefile berbilang direktori)
luaran: Fungsi ini telah ditakrifkan dalam fail lain
Fail perpustakaan: Simpan fungsi dan pembolehubah, fungsi dan pembolehubah di dalamnya hanya boleh digunakan, tetapi pelaksanaannya tidak dapat dilihat
Klasifikasi fail perpustakaan: perpustakaan statik (.a) dan perpustakaan dinamik (.so)
Pustaka statik ( .a ): Fungsi dan pembolehubah yang disimpan dimuatkan ke dalam fail boleh laku semasa fasa penyusunan
Pustaka dinamik (.so): Fungsi dan pembolehubah yang disimpan dimuatkan ke dalam fail boleh laku semasa fasa pelaksanaan
Perbezaan antara menggunakan perpustakaan statik dan perpustakaan dinamik (perbezaan antara fail boleh laku:)
Fail boleh laku disusun menggunakan perpustakaan statik>Saiz fail boleh laku yang disusun menggunakan perpustakaan dinamik --Tambahan yang menjejaskan memori
Kelajuan pelaksanaan fail boleh laku yang disusun menggunakan perpustakaan statik>Kelajuan pelaksanaan fail boleh laku yang disusun menggunakan perpustakaan dinamik
Naik taraf menggunakan fail boleh laku disusun daripada perpustakaan statik
Penyerahan program menggunakan fail boleh laku yang disusun daripada perpustakaan statik>Gunakan perpustakaan dinamik Gunakan program fail boleh laku yang disusun oleh perpustakaan
Laluan storan fail perpustakaan:
Pustaka Bab diperlukan untuk pengendalian perisian dan alatan pihak ketiga : /usr/lib
Apabila menyusun, pengkompil secara automatik akan pergi ke dua direktori ini untuk mencari fail perpustakaan yang perlu dipautkan
untuk mencipta pustaka statik:
Kompilasi fail sumber sasaran ke dalam fail sasaran: gcc -c fail sumber sasaran (boleh berbilang) (gcc -c add.c)
Gunakan Alat ar membuat statik: ar -rcs (buat jika perpustakaan tidak wujud, kemas kini jika wujud) nama fail perpustakaan yang akan dijana (lib+nama perpustakaan+akhiran.a) fail sasaran
contoh :ar -rcs libadd.a add.o
Gunakan perpustakaan statik:
-l: Tentukan pustaka statik yang hendak dimuatkan -l nama perpustakaan
-L: Tentukan pustaka statik untuk memuatkan laluan storan fail Perpustakaan
fail sumber gcc-l nama perpustakaan-L laluan storan perpustakaan
Contoh: gcc demo.c -ladd -L ./libls
Pengurus projek membuat
Apakah itu projek?
Fail berbilang sumber + fail lain (gambar + fail pengepala + fail skrip)
Kerja pengurus projek: Susun berbilang sumber Fail
gcc + semua fail sumber -o fail boleh laku—>
Makefile ialah fail skrip (pemprosesan kelompok), dan terdapat sintaks yang berkaitanFail Make Peringkat Atas: Master Control Makefile
Subdirektori Makefile: Fungsi MakefileTutorial Video Linux
》Atas ialah kandungan terperinci Apakah alat pembangunan linux terbenam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!