Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah cara saya menyusun dan memautkan fail sumber C ke dalam binari menggunakan Makefile?

Bagaimanakah cara saya menyusun dan memautkan fail sumber C ke dalam binari menggunakan Makefile?

Patricia Arquette
Lepaskan: 2024-11-03 05:01:02
asal
659 orang telah melayarinya

How do I compile and link C   source files into a binary using a Makefile?

Menyusun dan Memautkan Fail Sumber C dalam Makefile

Anda bertujuan untuk mencipta Makefile yang menyusun semua fail sumber C dalam folder /src dan memautkannya ke dalam binari dalam folder root /projek. Begini cara anda boleh mencapainya:

Konfigurasi Makefile

  1. Tentukan pembolehubah berikut:
SRC_DIR := src
OBJ_DIR := obj
SRC_FILES := $(wildcard $(SRC_DIR)/*.cpp)
OBJ_FILES := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES))
Salin selepas log masuk
  1. Nyatakan bendera pengkompil dan pemaut:
LDFLAGS := ...
CPPFLAGS := ...
CXXFLAGS := ...
Salin selepas log masuk
  1. Buat peraturan sasaran untuk membina binari:
main.exe: $(OBJ_FILES)
   g++ $(LDFLAGS) -o $@ $^
Salin selepas log masuk
  1. Buat peraturan kompilasi untuk setiap fail sumber C:
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
   g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
Salin selepas log masuk

Fail Make ini akan menyusun setiap fail sumber dalam direktori /src ke dalam fail .o yang sepadan dalam direktori /obj. Ia kemudian akan memautkan semua fail .o untuk mencipta binari main.exe dalam direktori /project.

Amalan Terbaik

Pendekatan ini biasanya dianggap sebagai pendekatan biasa untuk menyusun dan memautkan fail sumber C dalam projek. Walau bagaimanapun, terdapat amalan terbaik tertentu untuk diikuti:

  1. Umumkan proses: Benarkan penyusunan semua fail sumber dalam direktori tanpa perlu menentukan setiap fail secara manual.
  2. Automasikan penjanaan pergantungan: Gunakan bendera seperti -MMD untuk menjana graf pergantungan secara automatik, mengurangkan overhed penyelenggaraan.
  3. Dokumentasi rujukan: Sentiasa rujuk GNU Make Manual untuk pemahaman menyeluruh tentang sintaks dan keupayaan Makefile.

Atas ialah kandungan terperinci Bagaimanakah cara saya menyusun dan memautkan fail sumber C ke dalam binari menggunakan Makefile?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan