Bagaimana untuk Menyusun dan Memautkan Berbilang Fail C ke dalam Boleh Laku Menggunakan Makefiles?

DDD
Lepaskan: 2024-10-30 22:07:30
asal
558 orang telah melayarinya

How to Compile and Link Multiple C   Files into an Executable Using Makefiles?

Menyusun dan Memautkan Fail dalam Makefiles

Tugas yang dinyatakan dalam soalan ialah untuk menyusun berbilang fail .cpp ke dalam fail objek .o dan seterusnya pautkan fail ini ke dalam binari boleh laku. Begini cara ia boleh dicapai menggunakan Makefile:

Konfigurasi Makefile

SRC_DIR = ./src
OBJ_DIR = ./obj
SRC_FILES = $(wildcard $(SRC_DIR)/*.cpp)
OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES))
LDFLAGS = ... # Any additional linker flags
CPPFLAGS = ... # Any additional preprocessor flags
CXXFLAGS = ... # Any additional compiler flags

main.exe: $(OBJ_FILES)
    g++ $(LDFLAGS) -o $@ $^

$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
    g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
Salin selepas log masuk

Pecahan Makefile

  • SRC_DIR dan OBJ_DIR mentakrifkan direktori sumber dan objek, masing-masing.
  • SRC_FILES menggunakan fungsi wildcard untuk mengumpulkan semua fail .cpp dalam SRC_DIR.
  • OBJ_FILES mengubah senarai SRC_FILES dengan menukarnya menjadi objek laluan fail dalam OBJ_DIR.
  • Pembolehubah LDFLAGS, CPPFLAGS dan CXXFLAGS memegang sebarang bendera tambahan yang perlu dihantar kepada pemaut, prapemproses dan pengkompil, masing-masing.
  • Main.exe sasaran bergantung pada semua fail .o dan mencipta binari akhir.
  • Peraturan untuk menyusun fail .cpp ke dalam fail .o menentukan pengkompil yang hendak digunakan, bersama-sama dengan parameternya.

Pengurusan Pergantungan (Pilihan)

Untuk mengautomasikan pengurusan pergantungan, tambah baris berikut pada penghujung Makefile:

CXXFLAGS += -MMD
-include $(OBJ_FILES:.o=.d)
Salin selepas log masuk

Ini membolehkan penjanaan automatik peraturan makefile yang mengesan kebergantungan antara fail sumber dan objek, memudahkan penyelenggaraan.

Kesimpulan

Pendekatan ini memenuhi keperluan untuk menyusun berbilang fail .cpp dan memautkannya ke dalam binari. Ia juga dianggap sebagai amalan standard dan digunakan secara meluas dalam pembangunan perisian.

Atas ialah kandungan terperinci Bagaimana untuk Menyusun dan Memautkan Berbilang Fail C ke dalam Boleh Laku Menggunakan Makefiles?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!