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 $@ $<
Pecahan Makefile
Pengurusan Pergantungan (Pilihan)
Untuk mengautomasikan pengurusan pergantungan, tambah baris berikut pada penghujung Makefile:
CXXFLAGS += -MMD -include $(OBJ_FILES:.o=.d)
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!