Computer >> Máy Tính >  >> Lập trình >> lập trình C

Biên dịch có điều kiện trong ngôn ngữ C là gì?

Trong ngôn ngữ lập trình C, một số lệnh điều khiển việc biên dịch có chọn lọc các phần của mã chương trình. Chúng như sau -

  • #if
  • #else
  • #elif
  • #endif

Dạng chung của #if như sau -

chuỗi câu lệnh
#if constant_expression
   statement sequence
#endif

#else hoạt động giống như từ khóa C khác.

#elif có nghĩa là "else if" và thiết lập chuỗi biên dịch if else-if.

Trong số những thứ khác, #if cung cấp một phương pháp thay thế cho mã "nhận xét".

Ví dụ,

#if 0
   printf("#d", total);
#endif

Ở đây, trình biên dịch sẽ bỏ qua printf ("# d", total);

#ifdef và #ifndef

#ifdef có nghĩa là "nếu được xác định" và được kết thúc bằng #endif.

#indef có nghĩa là "nếu chưa được xác định".

#undef

#undef xóa định nghĩa đã xác định trước đó.

#line

#line thay đổi nội dung của __LINE__ chứa số dòng của mã hiện được biên dịch và __FILE__ là chuỗi chứa tên của tệp nguồn đang được biên dịch. Cả hai đều là số nhận dạng được xác định trước trong trình biên dịch.

#pragma

Chỉ thị #pragma là một chỉ thị do triển khai xác định cho phép các hướng dẫn khác nhau được cung cấp cho trình biên dịch.

Ví dụ

Sau đây là chương trình C để chứng minh #ifdef, #ifndef, #else và #endif -

# include <stdio.h>
# define a 10
void main(){
   #ifdef a
   printf("\n Hello I am here..");
   #endif
   #ifndef a
   printf("\n Not defined ");
   #else
   printf("\n R u There ");
   #endif
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Hello I am here..
R u There