1
4
-DF00=BAR
Định nghĩa macro tiền xử lý đặt tên F00 với một giá trị
của BAR trên dòng lệnh.
-IDIRNAME
Trước khi chưa quyết định được DIRNAME hãy tìm
kiếm những file include trong danh sách các thư mục(
tìm trong danh sách các đường dẫn thư mục)
-LDIRNAME
Trước khi chưa quyết định được DIRNAME hãy tìm
kiếm những file thư viện trong danh sách các thư mục.
Với mặc định gcc liên kết dựa trên những thư viện dùng
chung
-static
Liên kết dựa trên những thư viện tĩnh
-lF00
Liên kết dựa trên libF00
-g
Bao gồm chuẩn gỡ rối thông tin mã nhị phân
-ggdb
Bao gồm tất cả thông tin mã nhị phân mà chỉ có chương
trình gỡ rối GNU- gdb mới có thể hiểu được
-O
Tối ưu hoá mã biên dịch
-ON
Chỉ định một mức tối ưu hoá mã N, 0<=N<=3.
-ANSI
Hỗ trợ chuẩn ANSI/ISO của C, loại bỏ những mở rộng
của GNU mà xung đột với chuẩn( tuỳ chọn này không
bảo đảm mã theo ANSI).
-pedantic
Cho ra tất cả những cảnh báo quy định bởi chuẩn
-pedantic-erors
Thông báo ra tất cả các lỗi quy định bởi chuẩn
ANSI/ISO của C.
-traditional
Hỗ trợ cho cú pháp ngôn ngữ C của Kernighan và
Ritchie (giống như cú pháp định nghĩa hàm kiểu cũ).
-w
Chặn tất cả thông điệp cảnh báo.
-Wall
Thông báo ra tất cả những cảnh báo hữu ích thông
thường mà gcc có thể cung cấp.
-werror
Chuyển đổi tất cả những cảnh báo sang lỗi mà sẽ làm
ngưng tiến trình biên dịch.
-MM
Cho ra một danh sách sự phụ thuộc tương thích được
tạo.
-v
Hiện ra tất cả các lệnh đã sử dụng trong mỗi bước của
tiến trình biên dịch.
7.3.2. Công cụ GNU make
Trong trường hợp ta viết một chương trình rất lớn được cấu thành bởi từ nhiều
file, việc biên dịch sẽ rất phức tạp vì phải viết các dòng lệnh gcc rất là dài. Để khắc
phục tình trạng này, công cụ GNU make đã được đưa ra. GNU make được giải
quyết bằng cách chứa tất cả các dòng lệnh phức tạp đó trong một file gọi là
makefile. Nó cũng làm tối ưu hóa quá trình dịch bằng cách phát hiện ra những file
nào có thay đổi thì nó mới dịch lại, còn file nào không bị thay đổi thì nó sẽ không
làm gì cả, vì vậy thời gian dịch sẽ được rút ngắn.