Lệnh gcc trong Linux​? Cách dùng

Một trong những công cụ không thể thiếu đối với các lập trình viên làm việc trên nền tảng này chính là lệnh gcc (GNU Compiler Collection) – trình biên dịch ngôn ngữ C/C++ phổ biến và mạnh mẽ nhất trong Linux. Việc hiểu rõ cách sử dụng gcc không chỉ giúp quá trình biên dịch chương trình trở nên dễ dàng hơn, mà còn mở rộng khả năng kiểm soát và tối ưu hóa mã nguồn một cách hiệu quả.

Vậy gcc là gì, cách sử dụng ra sao và nó có những tùy chọn nào quan trọng? Hãy cùng tìm hiểu chi tiết trong nội dung dưới đây.

1. Lệnh gcc trong Linux​ là gì?

Lệnh gcc trong Linux là một công cụ dòng lệnh dùng để biên dịch mã nguồn C hoặc C++ thành mã máy (file thực thi). gcc là viết tắt của GNU Compiler Collection – bộ trình biên dịch do dự án GNU phát triển, rất phổ biến trong các hệ điều hành Linux và Unix.

Chức năng chính của gcc trong Linux đó là:

  • Biên dịch mã nguồn .c hoặc .cpp thành file nhị phân (executable).
  • Phát hiện lỗi cú pháp hoặc lỗi biên dịch.
  • Tối ưu hóa mã nguồn trong quá trình biên dịch.
  • Hỗ trợ nhiều ngôn ngữ lập trình, như C, C++, Objective-C, Fortran, Ada, Go, v.v. (dù C/C++ là phổ biến nhất).

2. Cách dùng lệnh gcc trong Linux?

Để dùng gcc trong Linux chúng ta cần biết được cú pháp cơ bản của nó đã:

gcc [tùy chọn] tên_file_nguồn.c -o tên_file_thực_thi

Ví dụ 1:

gcc hello.c -o hello

Lệnh này sẽ biên dịch tệp hello.c và tạo ra một tệp thực thi tên là hello.

Ví dụ 2:

-o opt: Lệnh này sẽ biên dịch tệp source.c nhưng thay vì cung cấp tên mặc định nên được thực thi bằng ./opt , lệnh này sẽ cung cấp tệp đầu ra dưới dạng opt. -o dành cho tùy chọn tệp đầu ra.

gcc source.c -o opt

Ví dụ 3:

-Werror: Lệnh này sẽ biên dịch mã nguồn và hiển thị cảnh báo nếu có bất kỳ lỗi nào trong chương trình, -W dùng để đưa ra cảnh báo.

gcc source.c -Werror -o opt

Ví dụ 4:

-Wall: Điều này sẽ kiểm tra không chỉ lỗi mà còn tất cả các loại cảnh báo như lỗi biến không sử dụng, nên sử dụng khi biên dịch mã.

gcc source.c -Wall -o opt

Ví dụ 5:

-ggdb3: Lệnh này cấp cho chúng ta quyền gỡ lỗi chương trình bằng gdb sẽ được mô tả sau, tùy chọn -g dành cho việc gỡ lỗi.

gcc -ggdb3 source.c -Wall -o opt

Ví dụ 6: 

-lm: Lệnh này liên kết thư viện math.h với tệp nguồn của chúng ta, tùy chọn -l được sử dụng để liên kết thư viện cụ thể, đối với math.h chúng ta sử dụng -lm.

gcc -Wall source.c -o opt -lm

3. Một số mẹo và cách sử dụng?

Mẹo 1: Bật tất cả cảnh báo – phát hiện lỗi sớm

gcc -Wall -Wextra -Wpedantic file.c -o file

Mẹo 2: Tối ưu hóa hiệu suất chương trình

gcc -O2 file.c -o file

Mẹo 3: Gỡ lỗi dễ hơn với flag -g

gcc -g file.c -o file

Mẹo 4: Chia nhỏ chương trình thành nhiều file .o

gcc -c a.c # tạo a.o
gcc -c b.c # tạo b.o
gcc a.o b.o -o program

Giúp quản lý dự án lớn dễ hơn,

Mẹo 5: Dò tìm bộ nhớ lỗi với Dò tìm bộ nhớ lỗi với valgrind

gcc -g file.c -o file
valgrind ./file

Giúp phát hiện lỗi tràn bộ nhớ, dùng sai con trỏ, v

Mẹo 6: Chỉ kiểm tra lỗi cú pháp (không tạo file thực thi)

gcc -fsyntax-only file.c

Mẹo 7: In chi tiết từng bước biên dịch (để học hoặc debug lỗi build)

gcc -v file.c -o file

4. Cuối cùng?

Trên đây là bài viết của mình về: “Lệnh gcc trong Linux​? và Cách dùng – chúc các bạn thành công.

Leave a Reply