Chỉ thị tiền xử lý
-
Khái niệm về chỉ thị tiền xử lý
Chỉ thị tiền xử lý (preprocessor directives) là các lệnh đặc biệt bắt đầu bằng ký tự #, được xử lý bởi bộ tiền xử lý (preprocessor) trước giai đoạn biên dịch chương trình.
Giai đoạn tiền xử lý bao gồm các công việc như chèn nội dung của các tập tin tiêu đề, thay thế các macro đã được định nghĩa, xử lý biên dịch có điều kiện và thực hiện các chỉ thị điều khiển biên dịch khác.
Bảng dưới đây liệt kê danh sách các chỉ thị tiền xử lý của ngôn ngữ C.
# Chỉ thị Ý nghĩa 1 #includeChèn nội dung của một tập tin (thường là header file) vào chương trình 2 #defineĐịnh nghĩa macro 3 #undefHủy bỏ một macro đã được định nghĩa trước đó 4 #ifKiểm tra giá trị của một biểu thức hằng số nguyên 5 #elifKết hợp với #if để kiểm tra các điều kiện khác 6 #elseKết hợp với #if, #elif để mô tả trường hợp còn lại khi các điều kiện trước đó không thỏa mãn 7 #endifKết thúc khối chỉ thị biên dịch có điều kiện #if 8 #ifdefKiểm tra một macro đã được định nghĩa hay chưa 9 #ifndefKiểm tra một macro chưa được định nghĩa 10 #pragmaCung cấp các chỉ dẫn bổ sung cho trình biên dịch, nội dung và ý nghĩa phụ thuộc vào từng compiler. 11 #errorChỉ định bộ tiền xử lý phát sinh một lỗi và chấm dứt quá trình tiền xử lý 12 #lineChỉ định lại tên tập tin và số dòng mà trình biên dịch sử dụng để định vị mã nguồn khi biên dịch và gỡ lỗi. -
Chỉ thị #include
#include là chỉ thị dùng để chèn nội dung của một tập tin (thường là tập tin tiêu đề – header file) vào vị trí xuất hiện của chỉ thị đó trong chương trình.
-
Cú pháp của chỉ thị #include
#include <file_name> #include "file_name"Khi tên tập tin được đặt trong dấu nháy kép (""), bộ tiền xử lý sẽ ưu tiên tìm tập tin trong thư mục hiện tại hoặc thư mục dự án (tùy theo cấu hình). Nếu không tìm thấy, nó sẽ tiếp tục tìm trong các thư mục chứa thư viện chuẩn.
-
Ví dụ minh họa chỉ thị #include
Trong bài học Soạn thảo, biên dịch và thực thi chương trình C, các hàm printf() và getchar() được khai báo trong tập tin stdio.h thuộc thư viện chuẩn, vì vậy chương trình cần có chỉ thị:
#include <stdio.h>Khi chương trình sử dụng thêm các hàm khác, ví dụ như hàm quản lý bộ nhớ, các hàm toán học, các hàm xử lý chuỗi,... của thư viện chuẩn hãy chèn các tập tin tiêu đề tương ứng.
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h>
-
-
Kết luận
Mặc dù số lượng chỉ thị tiền xử lý trong C không nhiều, nhưng việc sử dụng chúng hiệu quả đòi hỏi lập trình viên phải có kiến thức tổng quát và khả năng vận dụng linh hoạt.
Trong giai đoạn này, chúng ta chỉ tìm hiểu về chỉ thị #include ở mức cơ bản, các chỉ thị còn lại sẽ được thảo luận chi tiết ở các bài học sau.