Pembolehubah dan Argumen Makefile: Panduan Komprehensif

Pembolehubah Dan Argumen Makefile Panduan Komprehensif



Fail teks yang dipanggil 'makefile' digunakan untuk menyimpan arahan untuk mencipta projek perisian. Ia secara automatik memaut, menyediakan dan menyusun kod asal projek menggunakan fail sasaran. Makefile digunakan untuk mencipta objek dan menyasarkan fail daripada fail kod sumber. Selepas pelaksanaan fail sasaran, kod dalam fail kod sumber akan dilaksanakan, dan projek anda akan berjalan dalam masa yang singkat. Dalam panduan ini, kami akan memberi anda butiran komprehensif tentang cara membuat fail make menggunakan pembolehubah dan hujah.

Makefile asas terdiri daripada tiga bahagian:







  • Pembolehubah dilabelkan sebagai entiti untuk menyimpan data berkaitan projek.
  • Peraturan menentukan cara membuat fail yang dimaksudkan menggunakan kebergantungan dalam makefile.
  • Dokumen yang direka bentuk untuk dijana oleh makefile dirujuk sebagai sasaran.

Pembolehubah Makefile

Seperti yang telah kami terangkan, objek berlabel yang boleh digunakan untuk menyimpan data dirujuk sebagai pembolehubah makefile. Nilai pembolehubah mungkin satu aksara, nilai berangka atau koleksi nilai. Tajuk dokumen sumber dan sasaran, serta arahan yang akan digunakan untuk mencipta sasaran, adalah semua data mengenai prosedur binaan yang disimpan dalam pembolehubah.



Buat Pembolehubah Makefile

Untuk menentukan pembolehubah mudah dalam makefile, kita harus memulakannya dengan tajuk ringkas diikuti dengan tanda '=' dan nilai yang akan disimpan di dalamnya:



nama_pembolehubah = nilai_pembolehubah





Sebaliknya, lebih disukai dan disyorkan untuk mencuba ':=' dan bukannya '=' untuk prestasi projek yang pantas dan terbaik.

name_of_variable := nilai_of_variable



Sebagai contoh, kami mencipta fail make untuk projek C dan mengisytiharkan pembolehubah 'CC'. Pembolehubah ini menyimpan pengkompil yang boleh dilaksanakan untuk C, iaitu 'gcc', sebagai nilai. Pada baris keempat, kami mencipta pembolehubah 'CFLAGS' yang digunakan untuk memberi amaran semasa proses penyusunan sedang berlaku. Ini adalah untuk meningkatkan pengoptimuman projek yang anda jalankan dan untuk mengelakkan sebarang isu.

Sama seperti itu, pembolehubah 'TARGET' dalam coretan kod ini digunakan untuk menetapkan fail sasaran baharu yang dijana selepas pelaksanaan makefile. Semasa membuat fail make, anda perlu menetapkan fail sumber dan objek selepas menetapkan fail sasaran. Fail sumber dan objek juga boleh ditakrifkan menggunakan pembolehubah. Anda boleh menamakan pembolehubah ini mengikut pilihan anda.

Sebagai contoh, pembolehubah SRCS menetapkan fail sumber manakala pembolehubah OBJS menetapkan fail objek baharu menggunakan pembolehubah SRCS.

CC = gcc
CFLAGS = -Dinding
SASARAN = Baru
SRCS = utama.c
OBJS = $ ( SRCS:.c=.o )

Gunakan Pembolehubah Makefile

Selepas mengisytiharkan atau mentakrifkan pembolehubah makefile, sangat perlu untuk menjadikannya boleh digunakan dalam makefile. Untuk menggunakan pembolehubah makefile, anda perlu menggunakan tanda '$' diikuti dengan kurungan '()' atau '{}'. Sebagai contoh, kami menggunakan '$()' untuk membina fail boleh laku sasaran. Selepas melakukan langkah ini, fail sasaran akan dapat bertindak balas.

semua: $ ( SASARAN )

Hujah Makefile

Setiap kali makefile dipanggil, nilai dibekalkan kepadanya sebagai parameter yang dikenali sebagai 'argumen'. Argumen digunakan untuk mengatasi nilai asal sesuatu yang boleh berubah atau untuk menambah lebih banyak butiran pada fail make semasa masa jalan. Untuk menghantar argumen baris arahan kepada pembolehubah dalam fail make, anda harus menggunakan kata kunci 'buat' diikuti dengan nama pembolehubah dan nilai argumen yang dihantar kepadanya:

buat nama_pembolehubah = nilai_pembolehubah

Parameter ini boleh diakses sebagai pembolehubah biasa dalam makefile, iaitu 'Baru' ialah nilai argumen pembolehubah 'SASARAN'.

SASARAN = Baru

Contoh: Buat Pembolehubah dan Argumen

Untuk menunjukkan penggunaan pembolehubah dan argumen dalam makefile, kami menggunakan contoh mudah dalam C++. Kami mencipta fail C++ baharu dalam Notepad++ dan menambah pengepala 'iostream' untuk menggunakan input dan output dalam program sampel.

Fungsi main() bermula dengan pengisytiharan pembolehubah jenis aksara 'v'. Strim keluaran standard iaitu 'cout' digunakan untuk memaparkan dan meminta pengguna untuk input. Sebaliknya, aliran input standard 'cin' mendapat nilai input daripada pengguna pada masa jalan dan menyimpannya ke pembolehubah 'v'. 'Cout' standard sekali lagi digunakan untuk memaparkan nilai yang ditambahkan oleh pengguna pada masa jalankan. Pernyataan 'kembali 0' menamatkan pelaksanaan program dengan jayanya.

#include
int utama ( ) {
char v;
std::cout << 'Masukkan nilai: ' ;
std::cin >> dalam;
std::cout << dalam << std::endl;
kembali 0 ;
}

Makefile dijana menggunakan cara standard. Pembolehubah pertama, 'CXX', mengisytiharkan pengkompil untuk digunakan untuk menjalankan fail C++, iaitu 'g++'. Pembolehubah seterusnya digunakan untuk menetapkan bendera untuk pengkompil untuk mengelakkan sebarang masalah.

Sekarang, fail sasaran ditetapkan menggunakan pembolehubah 'TARGET' kepada 'Baharu'. Ini ialah fail boleh laku. Selepas ini, makefile mentakrifkan fail sumber dan objeknya melalui pembolehubah SRCS dan OBJS. Untuk menggunakan pembolehubah yang diisytiharkan, kami menggunakan tanda '$' diikuti dengan tanda kurung '()' untuk membina sasaran boleh laku, fail objek dan membersihkan objek dan fail sasaran.

CXX = g++
CXXFLAGS = -std =c++ sebelas -Dinding
SASARAN = Baru
SRCS = main.cpp
OBJS = $ ( SRCS:.cpp=.o )
semua: $ ( SASARAN )
$ ( SASARAN ) : $ ( OBJS )
$ ( CXX ) $ ( CXXFLAGS ) -O $ ( SASARAN ) $ ( OBJS )
% .O: % .cpp
$ ( CXX ) $ ( CXXFLAGS ) -c $ < -O $ @
bersih:
rm -f $ ( SASARAN ) $ ( OBJS )

Selepas menyimpan C++ dan fail makenya, lancarkan CMD sistem anda, navigasi ke dalam direktori kerja, dan jalankan arahan buat seperti berikut. Ia menjana fail objek 'main.o' dan fail sasaran 'New.exe' untuk fail kod sumber. Kami belum meluluskan sebarang hujah untuk membuat arahan buat masa ini.

buat

Menjalankan fail sasaran akan meminta pengguna untuk input. Kami menambah aksara 'h' pada pelaksanaan pertama dan 'haha' pada pelaksanaan kedua. Walaupun pembolehubah 'v' hanya menerima nilai 'watak', aksara 'h' daripada rentetan 'haha' disimpan dan dipaparkan.

New.exe

Mari jalankan arahan make menggunakan argumen baris arahan yang dihantar kepada pembolehubah makefile. Jadi, kami mengubah nilai pembolehubah 'TARGET' dan lulus 'Ujian' kepadanya. Selepas itu, fail 'Test.exe' dijana dan berfungsi sama seperti fail 'New.exe'.

buat SASARAN =Ujian
Test.exe

Kesimpulan

Dalam panduan komprehensif ini, kami telah meneliti kandungan makefile satu demi satu. Kami menghuraikan cara mengisytiharkan pembolehubah dalam fail make, cara menjadikannya boleh digunakan dan cara mengubah nilainya semasa masa jalan dengan bantuan argumen. Menyokong penjelasan kami, kami membincangkan contoh mudah dalam C++.