0Pricing
C Academy · บทเรียน

Makefile และกระบวนการคอมไพล์

เรียนรู้การใช้แฟล็กของ make และ gcc เพื่อเพิ่มประสิทธิภาพการคอมไพล์

Makefile และกระบวนการคอมไพล์ เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

บทนำสู่ Makefile และกระบวนการคอมไพล์

Makefile และกระบวนการคอมไพล์

Makefile ช่วยทำให้การคอมไพล์โปรแกรมภาษา C เป็นอัตโนมัติ ทำให้จัดการโครงการที่ซับซ้อนได้ง่ายขึ้น

ในบทเรียนนี้ คุณจะได้เรียนรู้:

  • กระบวนการคอมไพล์ภาษา C ทำงานอย่างไร
  • วิธีสร้างและใช้ Makefile
  • วิธีเพิ่มประสิทธิภาพการคอมไพล์โดยใช้แฟล็กของ GCC
Makefile และกระบวนการคอมไพล์ — ภาพประกอบ 1

ทำความเข้าใจกระบวนการคอมไพล์ภาษา C

ทำความเข้าใจกระบวนการคอมไพล์ภาษา C

กระบวนการคอมไพล์ภาษา C ประกอบด้วยสี่ขั้นตอน:

  • การประมวลผลล่วงหน้า - จัดการแมโครและแทรกไฟล์
  • การคอมไพล์ - แปลโค้ด C เป็นภาษาแอสเซมบลี
  • การแอสเซมบลี - แปลงโค้ดแอสเซมบลีเป็นรหัสเครื่อง
  • การเชื่อมโยง - รวมไฟล์ออบเจ็กต์เป็นไฟล์ปฏิบัติการ

การคอมไพล์โปรแกรมภาษา C

การคอมไพล์โปรแกรมภาษา C

หากต้องการคอมไพล์โปรแกรมภาษา C อย่างง่าย:

gcc program.c -o program

หากต้องการเปิดใช้ข้อมูลการดีบัก:

gcc -g program.c -o program

หากต้องการเพิ่มประสิทธิภาพการทำงาน:

gcc -O2 program.c -o program

Makefile คืออะไร

Makefile คืออะไร

Makefile ทำให้การคอมไพล์เป็นอัตโนมัติโดยกำหนดกฎสำหรับสร้างไฟล์ปฏิบัติการ

ไวยากรณ์พื้นฐาน:

target: dependencies command

ตัวอย่าง:

program: main.o utils.o gcc main.o utils.o -o program

ตัวอย่าง: การเขียน Makefile อย่างง่าย

ตัวอย่าง: การเขียน Makefile อย่างง่าย

Makefile นี้คอมไพล์โปรแกรมที่มีไฟล์ต้นฉบับหลายไฟล์

CC=gcc
CFLAGS=-Wall -O2

all: program

program: main.o utils.o
	$(CC) main.o utils.o -o program

main.o: main.c
	$(CC) $(CFLAGS) -c main.c

utils.o: utils.c
	$(CC) $(CFLAGS) -c utils.c

clean:
	rm -f *.o program

การใช้คำสั่งใน Makefile

การใช้คำสั่งใน Makefile

คำสั่งใน Makefile ที่ใช้กันทั่วไป:

  • make - คอมไพล์โครงการ
  • make clean - ลบไฟล์ที่คอมไพล์แล้ว
  • make all - สร้างเป้าหมายทั้งหมด

การเพิ่มประสิทธิภาพการคอมไพล์ด้วยแฟล็กของ GCC

การเพิ่มประสิทธิภาพการคอมไพล์ด้วยแฟล็กของ GCC

แฟล็กสำหรับเพิ่มประสิทธิภาพที่ใช้กันทั่วไป:

  • -O1 - การเพิ่มประสิทธิภาพพื้นฐาน
  • -O2 - การเพิ่มประสิทธิภาพที่เข้มข้นขึ้น
  • -O3 - การเพิ่มประสิทธิภาพสูงสุด
  • -march=native - ปรับประสิทธิภาพให้เหมาะกับ CPU ในเครื่อง

การดีบักด้วย Makefile

การดีบักด้วย Makefile

หากต้องการคอมไพล์พร้อมข้อมูลการดีบัก ให้ใช้:

CFLAGS=-g

หากต้องการเพิ่มการดีบักใน Makefile:

gcc -g main.c -o program

สรุป

สรุป

ในบทเรียนนี้ คุณได้เรียนรู้:

  • กระบวนการคอมไพล์ภาษา C ทำงานอย่างไร
  • วิธีใช้ Makefile เพื่อสร้างโปรแกรมโดยอัตโนมัติ
  • วิธีเพิ่มประสิทธิภาพการคอมไพล์ด้วยแฟล็กของ GCC

ถัดไป เราจะสำรวจเทคนิคการเพิ่มประสิทธิภาพโค้ด

Makefile และกระบวนการคอมไพล์ — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “Makefile และกระบวนการคอมไพล์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Makefile และกระบวนการคอมไพล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Makefile และกระบวนการคอมไพล์”

เรียนรู้การใช้แฟล็กของ make และ gcc เพื่อเพิ่มประสิทธิภาพการคอมไพล์ คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน

บทเรียน “Makefile และกระบวนการคอมไพล์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม

ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Makefile และกระบวนการคอมไพล์
  2. เทคนิคการปรับประสิทธิภาพโค้ด
  3. การจัดการโครงงานขนาดใหญ่
← กลับไปที่ C Academy