Dalam Linux, makefile ialah peraturan penyusunan fail projek, yang menerangkan peraturan penyusunan dan pemautan keseluruhan projek itu termasuk fail mana yang perlu disusun, fail mana yang tidak perlu disusun dan fail mana yang perlu dikompilasi dahulu, fail mana yang perlu dikompilasi, fail mana yang perlu dibina semula, dsb.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.
1. Apakah Makefile
Makefile boleh dianggap sebagai peraturan kompilasi fail projek, menerangkan peraturan penyusunan dan pemautan keseluruhan projek.
Projek peringkat perusahaan biasanya mempunyai banyak fail sumber, yang kadangkala dikelaskan ke dalam direktori yang berbeza mengikut fungsi, jenis dan modul Kadangkala berbilang program disimpan dalam satu direktori.
Makefle dilahirkan untuk menyelesaikan masalah bagaimana untuk menyusun beberapa kod di atas Ia mentakrifkan satu set peraturan yang menentukan fail mana yang perlu disusun dahulu, fail mana yang perlu disusun kemudian dan fail mana yang harus disusun. disusun semula.
Semua yang terlibat dalam menyusun keseluruhan projek boleh diterangkan dalam Makefile. Dalam erti kata lain, Makefile boleh mengautomasikan penyusunan projek projek kami tanpa perlu memasukkan sekumpulan fail sumber dan parameter secara manual setiap kali. Kelebihan
Makefile ialah ia boleh mencapai "kompilasi autonomi". Boleh dikatakan bahawa mana-mana program sumber Linux disertakan dengan Makefile. 2. Kelebihan Makefile
- Urus kompilasi kod, tentukan fail yang hendak disusun, susunan kompilasi dan sama ada penyusunan semula diperlukan; >
Jimat masa kompilasi. Jika fail berubah, hanya susun semula fail ini tanpa menyusun semula keseluruhan projek; Makefiles biasanya hanya perlu ditulis sekali dan tidak perlu diubah terlalu lama kemudian.
3. Peraturan penamaan
Secara umumnya, adalah OK untuk menamakan Makefile sebagai - Makefile
atau
makefile , tetapi terdapat banyak sumber Nama fail adalah huruf kecil, jadi lebih ramai pengaturcara menggunakan nama Makefile kerana ia boleh memaparkan Makefile terlebih dahulu.
Jika anda menamakan Makefile dengan nama lain, seperti Makefile_demo, ia juga dibenarkan, tetapi ia harus digunakan dengan cara berikut:
make -f Makefile_demo 4. Peraturan asas Peraturan asas Makefile ialah:
Sasaran: pergantungan
(tab) peraturan
Sasaran --> Sasaran fail yang perlu dijana
Pergantungan --> fail
tab -->Setiap peraturan mesti bermula dengan tab , ruang tidak dibenarkan
Sebagai contoh, kami sering menulis ujian gcc. c -o test, Menggunakan Makefile, ia boleh ditulis sebagai:Antaranya, ujian di baris pertama ialah sasaran yang akan dihasilkan, test.c ialah kebergantungan, dan baris kedua ialah peraturan untuk menjana ujian daripada ujian.c.
Kadangkala terdapat berbilang matlamat dalam Makefile, tetapi Makefile akan menetapkan matlamat pertama sebagai matlamat utama. 5. Prinsip kerja
Penjanaan sasaran:test: test.c gcc test.c -o testa b . Jika fail bergantung tidak wujud, cari peraturan untuk menjana fail bergantung.
Sebagai contoh, dalam gambar di atas, peraturan untuk menjana kalkulator ialah gcc main.o add.o sub.o mul.o p.o -o, Makefil akan menyemak utama .o pertama, Sama ada add.o, sub.o, mul.o, p.o wujud, jika tidak, ia akan mencari peraturan untuk menjana fail dependensi.
Sebagai contoh, jika dependency main.o tiada, Makefile akan melihat di bawah untuk melihat sama ada terdapat peraturan untuk menjana main.o. Apabila ia mendapati bahawa peraturan gcc main.c -o main.o boleh menjana main.o, ia menggunakan peraturan ini untuk menjana main.o, dan kemudian menjana kalkulator matlamat muktamad. Seluruh proses adalah untuk mencari kebergantungan ke bawah, dan kemudian laksanakan arahan ke atas untuk menjana matlamat utama.
Kemas kini sasaran:a. Periksa semua kebergantungan sasaran Jika sebarang kebergantungan dikemas kini, jana semula sasaran; . Jika fail sasaran lebih lewat daripada fail bergantung, ia perlu dikemas kini.
Sebagai contoh, jika main.c diubah suai, sasaran utama.o akan disusun semula Apabila main.o dikemas kini, kalkulator sasaran muktamad juga akan disusun semula. Kemas kini fail lain juga dilakukan secara analogi.
6. Pelaksanaan perintah
buat:
Gunakan arahan ini untuk menjana fail sasaran mengikut peraturan yang telah ditetapkan.
Jika nama fail Makefile bukan Makefile atau makefile, pilihan
-f perlu ditambah, seperti:
buat bersih:
Kosongkan fail perantaraan (fail.o) dan fail sasaran akhir yang dijana semasa proses penyusunan.
Jika fail bernama clean wujud dalam direktori semasa, arahan ini tidak akan dilaksanakan.
-->Penyelesaian: Pengisytiharan sasaran pseudo: .PHONY:clean
Simbol khas:
-: Menunjukkan bahawa walaupun ralat berlaku semasa pelaksanaan arahan ini, arahan seterusnya akan terus dilaksanakan. Contohnya:
-rm a.o build/
@: Menunjukkan bahawa arahan hanya akan dilaksanakan tanpa bergema. Apabila peraturan am dilaksanakan, peraturan pelaksanaan akan dicetak pada terminal Selepas menambah simbol ini, hanya arahan akan dilaksanakan dan peraturan yang dilaksanakan tidak akan digemakan. Contohnya:
@echo $(SOURCE)
7 Pembolehubah biasa
takrifan pembolehubah dan tugasan:
pembolehubah ialah. digunakan secara langsung Definisi boleh dilengkapkan dengan memberikan nilai, seperti:
SERTAKAN = ./include/
Nilai boleh ubah:
Sertakannya dalam kurungan dan tambah tanda dolar, seperti:
FOO = $(OBJ)
Pembolehubah terbina dalam sistem:
biasanya huruf besar, seperti CC , PWD, CFLAG, dsb.
Sesetengahnya mempunyai nilai lalai, ada yang tidak. Contohnya, yang biasa:
CPPFLAGS: Pilihan yang diperlukan oleh prapemproses seperti: -I
CFLAGS: Parameter yang digunakan semasa penyusunan –Wall –g -c
LDFLAGS : Pilihan yang digunakan oleh pustaka pautan –L -l
Nilai lalai pembolehubah boleh diubah suai Contohnya, nilai lalai CC ialah cc, tetapi ia boleh diubah suai kepada gcc: CC. =gcc
8 Pembolehubah automatik
Pembolehubah automatik yang biasa digunakan:
Makefile menyediakan banyak pembolehubah automatik, tetapi tiga berikut biasanya digunakan. Pembolehubah automatik ini hanya boleh digunakan dalam arahan dalam peraturan dan tidak boleh digunakan di tempat lain.
$@ --> Sasaran dalam peraturan
$
Contohnya:
apl: main.c func1.c fun2.c
gcc $^ - o $@
di mana : $^ bermaksud main.c func1.c fun2.c, $
Peraturan corak:Peraturan corak hendaklah menggunakan % dalam keadaan sasaran dan kebergantungan untuk memadankan fail yang sepadan, seperti main.c, func1.c dalam direktori , func2.c tiga fail, penyusunan tiga fail ini boleh dilengkapkan dengan satu peraturan:
%.o:%.c
$(CC) –c $
Peraturan corak ini bermaksud:
main.o dijana oleh main.c,
func1.o dijana oleh func1.c,
func2.o dijana oleh func2.c
Ini ialah peranan peraturan corak, yang boleh memadankan semua fail dalam direktori pada satu masa.
9. Fungsi
Fail make juga memberikan kami sejumlah besar fungsi, dan dua fungsi berikut juga kerap digunakan. Perlu diingatkan bahawa semua fungsi dalam
makefile mesti mempunyai nilai pulangan. Dalam contoh berikut, katakan terdapat tiga fail main.c, func1.c dan func2.c dalam direktori.
wildcard:digunakan untuk mencari fail jenis tertentu dalam direktori yang ditentukan, dan parameter berikut ialah jenis fail direktori, contohnya:
src = $ (wildcard ./src/*.c)
Ayat ini bermaksud: Cari semua fail dengan akhiran .c dalam direktori ./src dan berikannya kepada pembolehubah src.
Selepas pelaksanaan arahan selesai, nilai src ialah: main.c func1.c fun2.c.
patsubst:Penggantian padanan, seperti contoh berikut, digunakan untuk mencari semua fail yang berakhir dengan .c daripada direktori src dan menggantikannya dengan fail .o , Dan tetapkan ia kepada obj.
obj = $(patsubst %.c ,%.o ,$(src))
Gantikan semua fail dengan akhiran .c dalam pembolehubah src dengan .o.
Selepas arahan dilaksanakan, nilai obj ialah main.o func1.o func2.o
Khususnya, jika anda ingin meletakkan semua fail .o dalam direktori obj, anda boleh gunakan kaedah berikut:
ob = $(patsubst ./src/%.c, ./obj/%.o, $(src))
Cadangan berkaitan: "
Tutorial Video LinuxAtas ialah kandungan terperinci Apakah makefile dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Langkah -langkah untuk memasukkan mod pemulihan Linux adalah: 1. Mulakan semula sistem dan tekan kekunci khusus untuk memasukkan menu Grub; 2. Pilih pilihan dengan (pemulihanMode); 3. Pilih operasi dalam menu Mod Pemulihan, seperti FSCK atau Root. Mod pemulihan membolehkan anda memulakan sistem dalam mod pengguna tunggal, melakukan pemeriksaan sistem fail dan pembaikan, mengedit fail konfigurasi, dan operasi lain untuk membantu menyelesaikan masalah sistem.

Komponen teras Linux termasuk kernel, sistem fail, shell dan alat biasa. 1. Kernel menguruskan sumber perkakasan dan menyediakan perkhidmatan asas. 2. Sistem fail menganjurkan dan menyimpan data. 3. Shell adalah antara muka bagi pengguna untuk berinteraksi dengan sistem. 4. Alat umum membantu menyelesaikan tugas harian.

Struktur asas Linux termasuk kernel, sistem fail, dan shell. 1) Sumber perkakasan pengurusan kernel dan gunakan UNAME-R untuk melihat versi. 2) Sistem fail ext4 menyokong fail dan log besar dan dibuat menggunakan mkfs.ext4. 3) Shell menyediakan interaksi baris arahan seperti BASH, dan menyenaraikan fail menggunakan LS-L.

Langkah -langkah utama pengurusan dan penyelenggaraan sistem Linux termasuk: 1) menguasai pengetahuan asas, seperti struktur sistem fail dan pengurusan pengguna; 2) Menjalankan pemantauan sistem dan pengurusan sumber, gunakan alat atas, HTOP dan lain -lain; 3) Gunakan log sistem untuk menyelesaikan masalah, gunakan JournalCTL dan alat lain; 4) Tulis skrip automatik dan penjadualan tugas, gunakan alat Cron; 5) Melaksanakan pengurusan dan perlindungan keselamatan, konfigurasikan firewall melalui iptables; 6) Menjalankan pengoptimuman prestasi dan amalan terbaik, menyesuaikan parameter kernel dan mengembangkan tabiat yang baik.

Mod penyelenggaraan Linux dimasukkan dengan menambah init =/bin/bash atau parameter tunggal pada permulaan. 1. Masukkan Mod Penyelenggaraan: Edit menu Grub dan tambahkan parameter permulaan. 2. Mengembalikan sistem fail untuk membaca dan menulis mod: mount-oremount, rw/. 3. Membaiki sistem fail: Gunakan arahan FSCK, seperti FSCK/DEV/SDA1. 4. Menyokong data dan beroperasi dengan berhati -hati untuk mengelakkan kehilangan data.

Artikel ini membincangkan cara meningkatkan kecekapan pemprosesan data Hadoop pada sistem Debian. Strategi pengoptimuman meliputi peningkatan perkakasan, pelarasan parameter sistem operasi, pengubahsuaian konfigurasi Hadoop, dan penggunaan algoritma dan alat yang cekap. 1. Pengukuhan sumber perkakasan memastikan bahawa semua nod mempunyai konfigurasi perkakasan yang konsisten, terutama memberi perhatian kepada prestasi CPU, memori dan peralatan rangkaian. Memilih komponen perkakasan berprestasi tinggi adalah penting untuk meningkatkan kelajuan pemprosesan keseluruhan. 2. Sistem operasi Tunes deskriptor fail dan sambungan rangkaian: Ubah suai fail /etc/security/limits.conf untuk meningkatkan had atas deskriptor fail dan sambungan rangkaian yang dibenarkan dibuka pada masa yang sama oleh sistem. Pelarasan Parameter JVM: Laraskan fail Hadoop-env.sh

Panduan ini akan membimbing anda untuk belajar cara menggunakan syslog dalam sistem Debian. SYSLOG adalah perkhidmatan utama dalam sistem Linux untuk sistem pembalakan dan mesej log aplikasi. Ia membantu pentadbir memantau dan menganalisis aktiviti sistem untuk mengenal pasti dan menyelesaikan masalah dengan cepat. 1. Pengetahuan asas syslog Fungsi teras syslog termasuk: mengumpul dan menguruskan mesej log secara terpusat; menyokong pelbagai format output log dan lokasi sasaran (seperti fail atau rangkaian); Menyediakan fungsi tontonan log dan penapisan masa nyata. 2. Pasang dan konfigurasikan syslog (menggunakan rsyslog) Sistem Debian menggunakan rsyslog secara lalai. Anda boleh memasangnya dengan arahan berikut: sudoaptupdatesud

Apabila memilih versi Hadoop yang sesuai untuk sistem Debian, faktor utama berikut perlu dipertimbangkan: 1. Kestabilan dan sokongan jangka panjang: Bagi pengguna yang mengejar kestabilan dan keselamatan, disarankan untuk memilih versi stabil Debian, seperti Debian11 (Bullseye). Versi ini telah diuji sepenuhnya dan mempunyai kitaran sokongan sehingga lima tahun, yang dapat memastikan operasi sistem yang stabil. 2. Kelajuan Kemas Kini Pakej: Jika anda perlu menggunakan ciri dan ciri Hadoop terkini, anda boleh mempertimbangkan versi Debian yang tidak stabil (SID). Walau bagaimanapun, perlu diperhatikan bahawa versi yang tidak stabil mungkin mempunyai masalah keserasian dan risiko kestabilan. 3. Sokongan dan Sumber Masyarakat: Debian mempunyai sokongan masyarakat yang besar, yang dapat memberikan dokumentasi yang kaya dan


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini