PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | Chương 33.ECPG- nhúngPostgreSQL: Tàitrong C | NEXT |
Một số kèo bóng đá c1 xử lý có sẵn để sửa đổi cáchECPGPhân tích tiền xử lý và xử lý một tệp.
Để đưa một tệp bên ngoài vào chương trình kèo bóng đá c1 nhúng của bạn, sử dụng:
EXEC kèo bóng đá c1 bao gồmFileName;FileName;FileName";
Bộ tiền xử lý kèo bóng đá c1 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 kèo bóng đá c1 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 kèo bóng đá c1 bao gồm "FileName"được sử dụng, chỉ tìm kiếm thư mục hiện tại.
Trong mỗi thư mục, bộ tiền xử lý trước tiên sẽ tìm tên tệp như đã đưa ra và nếu không tìm thấy sẽ nối tiếp.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 kèo bóng đá c1 bao gồmlàkhônggiống như:
#include <FileName.h
Bởi vì tệp này sẽ không phải chịu sự tiền xử của lệnh kèo bóng đá c1. Đươ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 với trường hợp, mặc dù phần còn lại củaEXEC kèo bóng đá c1 bao gồmLệnh tuân theo các quy tắc nhạy cảm trường hợp kèo bóng đá c1 thông thường.
Tương tự như Chỉ thị#Defineđược biết đến từ C, kèo bóng đá c1 nhúng có khái niệm tương tự:
exec kèo bóng đá c1 xác địnhtên;tên giá trị;
Vì vậy, bạn có thể xác định tên:
exec kèo bóng đá c1 xác định have_feature;
Và bạn cũng có thể xác định các hằng số:
EXEC kèo bóng đá c1 Xác định Mynumber 12;
Sử dụngUndefĐể xóa định nghĩa trước:
EXEC kèo bóng đá c1 Undef Mynumber;
Tất nhiên bạn có thể tiếp tục sử dụng các phiên bản C#definevà#undefTrong chương trình kèo bóng đá c1 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á.EXEC kèo bóng đá c1 xác địnhSau đó là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 kèo bóng đá c1 Xác định Mynumber 12;
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#define13562_13717
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:
Kiểm tra Atênvà xử lý các dòng tiếp theo nếutênđã được tạo bằngEXEC kèo bóng đá c1 xác địnhtên.
Kiểm tra Atênvà xử lý các dòng tiếp theo nếutêncókhôngĐã được tạo bằngEXEC kèo bóng đá c1 xác địnhtên.
Bắt đầu xử lý một phần thay thế cho một phần được giới thiệu bởiEXEC kèo bóng đá c1 IFDEFtênhoặcEXEC kèo bóng đá c1 IFNDEFtên.
Kiểm tratênvà bắt đầu một phần thay thế nếutênđã được tạo bằngEXEC kèo bóng đá c1 xác địnhtên.
Kết thúc một phần thay thế.
Ví dụ:
EXEC kèo bóng đá c1 IFNDEF TZVAR;