Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

34,9. Chỉ thị tiền xử lý#

Một số chỉ thị tiền xử lý có sẵn để sửa đổi cáchECPGPhân tích tiền xử lý và xử lý một tệp.

34.9.1. Bao gồm các tệp#

Để đưa một tệp bên ngoài vào chương trình tỷ lệ kèo bóng đá 88 nhúng của bạn, sử dụng:

EXEC tỷ lệ kèo bóng đá 88 bao gồmFileName;
Exec tỷ lệ kèo bóng đá 88 bao gồm <FileName;
EXEC tỷ lệ kèo bóng đá 88 bao gồm "FileName";

Bộ tiền xử lý tỷ lệ kèo bóng đá 88 nhúng sẽ tìm kiếm một tệp có tênFileName.h, tiền xử lý và bao gồm nó trong đầu ra C kết quả. Do đó, các câu lệnh tỷ lệ kèo bóng đá 88 nhúng trong tệp đi kèm được xử lý chính xác.

TheECPGBộ tiền xử lý sẽ tìm kiếm một tệp tại một số thư mục theo thứ tự sau:

  • Thư mục hiện tại
  • /usr/local/bao gồm
  • PostgreSQL bao gồm thư mục, được xác định tại thời gian xây dựng (ví dụ:/usr/local/pgsql/bao gồm)
  • /usr/bao gồm

Nhưng khiEXEC tỷ lệ kèo bóng đá 88 bao gồm "FileName"được sử dụng, chỉ tìm kiếm thư mục hiện tại.

12029_12140.hđến tên tệp và thử lại (trừ khi tên tệp được chỉ định đã có hậu tố đó).

Lưu ý rằngEXEC tỷ lệ kèo bóng đá 88 bao gồmkhônggiống như:

#include <FileName.h

Bởi vì tệp này sẽ không phải tuân theo tiền xử lý của tỷ lệ kèo bóng đá 88. Đương nhiên, bạn có thể tiếp tục sử dụng c#includeChỉ thị bao gồm các tệp tiêu đề khác.

Lưu ý

Tên tệp bao gồm nhạy cảm trường hợp, mặc dù phần còn lại củaEXEC tỷ lệ kèo bóng đá 88 bao gồmLệnh tuân theo các quy tắc nhạy cảm trường hợp tỷ lệ kèo bóng đá 88 thông thường.

34.9.2. Các chỉ thị xác định và hoàn tác#

Tương tự như Chỉ thị#defineđược biết đến từ C, tỷ lệ kèo bóng đá 88 nhúng có một khái niệm tương tự:

EXEC tỷ lệ kèo bóng đá 88 xác địnhtên;
Exec tỷ lệ kèo bóng đá 88 xác địnhtên giá trị;

Vì vậy, bạn có thể xác định tên:

exec tỷ lệ kèo bóng đá 88 xác định have_feature;

Và bạn cũng có thể xác định các hằng số:

EXEC tỷ lệ kèo bóng đá 88 Xác định Mynumber 12;
Exec tỷ lệ kèo bóng đá 88 xác định myString 'abc';

Sử dụngUndefĐể xóa định nghĩa trước:

EXEC tỷ lệ kèo bóng đá 88 Undef Mynumber;

Tất nhiên bạn có thể tiếp tục sử dụng các phiên bản C#Define#undefTrong chương trình tỷ lệ kèo bóng đá 88 nhúng của bạn. Sự khác biệt là nơi các giá trị xác định của bạn được đánh giá. Nếu bạn sử dụngEXEC tỷ lệ kèo bóng đá 88 xác địnhsau đóECPGBộ tiền xử lý đánh giá các định nghĩa và thay thế các giá trị. Ví dụ: nếu bạn viết:

EXEC tỷ lệ kèo bóng đá 88 Xác định Mynumber 12;
...
EXEC tỷ lệ kèo bóng đá 88 Cập nhật tbl set col = mynumber;

sau đóECPGSẽ thay thế và trình biên dịch C của bạn sẽ không bao giờ thấy bất kỳ tên hoặc định danh nàoMynumber. Lưu ý rằng bạn không thể sử dụng#define14727_14882

Nếu nhiều tệp đầu vào được đặt tên trênECPGDòng lệnh của người tiền xử lý, các hiệu ứng củaEXEC tỷ lệ kèo bóng đá 88 xác địnhEXEC tỷ lệ kèo bóng đá 88 UNEFKhông mang theo các tệp: Mỗi tệp bắt đầu chỉ bằng các ký hiệu được xác định bởi-DChuyển sang dòng lệnh.

34.9.3. IFDEF, IFNDEF, ELIF, OTE và EXTIF Chỉ thị#

Bạn có thể sử dụng các chỉ thị sau để biên dịch các phần mã có điều kiện:

EXEC tỷ lệ kèo bóng đá 88 IFDEFtên; #

Kiểm tra Atênvà xử lý các dòng tiếp theo nếutênđã được xác định quaexec tỷ lệ kèo bóng đá 88 xác địnhtên.

EXEC tỷ lệ kèo bóng đá 88 IFNDEFtên; #

Kiểm tra Atênvà xử lý các dòng tiếp theo nếutênkhôngĐã được xác định quaEXEC tỷ lệ kèo bóng đá 88 xác địnhtên.

EXEC tỷ lệ kèo bóng đá 88 ELIFtên; #

Bắt đầu một phần thay thế tùy chọn sau mộtEXEC tỷ lệ kèo bóng đá 88 IFDEFtênhoặcEXEC tỷ lệ kèo bóng đá 88 IFNDEFtênChỉ thị. Bất kỳ số nào củaElifPhần có thể xuất hiện. Các dòng sau mộtElifsẽ được xử lý nếutênđã được xác địnhKhông có phần trước đóIFDEF/IFNDEF...endifXây dựng đã được xử lý.

EXEC tỷ lệ kèo bóng đá 88 khác; #

Bắt đầu một phần thay thế tùy chọn, cuối cùng sau mộtEXEC tỷ lệ kèo bóng đá 88 IFDEFtênhoặcEXEC tỷ lệ kèo bóng đá 88 IFNDEFtênChỉ thị. Các dòng tiếp theo sẽ được xử lý nếu không có phần trước đóIFDEF/IFNDEF...endifXây dựng đã được xử lý.

EXEC tỷ lệ kèo bóng đá 88 ENDIF; #

kết thúcIFDEF/IFNDEF...endifXây dựng. Các dòng tiếp theo được xử lý bình thường.

IFDEF/IFNDEF...endifCấu trúc có thể được lồng, sâu tới 127 cấp.

Ví dụ này sẽ biên dịch chính xác một trong baĐặt múi giờlệnh:

EXEC tỷ lệ kèo bóng đá 88 IFDEF TZVAR;
EXEC tỷ lệ kèo bóng đá 88 đặt thời gian thành tzvar;
Exec tỷ lệ kèo bóng đá 88 elif tzname;
EXEC tỷ lệ kèo bóng đá 88 đặt thời gian thành tzname;
EXEC tỷ lệ kèo bóng đá 88 khác;
EXEC tỷ lệ kèo bóng đá 88 đặt thời gian thành 'gmt';
Exec tỷ lệ kèo bóng đá 88 endif;

Gửi sửa

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.