Phần chính của tệp tiêu đề danh kèo bóng đá euro là định nghĩa cấu trúc C mô tả bố cục của mỗi hàng của danh kèo bóng đá euro. Điều này bắt đầu bằng mộtDanh kèo bóng đá euro
Macro, cho đến khi trình biên dịch C có liên quan chỉ là tốc ký choTypedef struct formData_
8344_8472catalogname
Genbki.h
Ví dụ, để xác định giá trị mặc định cho trường hoặc đánh dấu nó là không thể có được hoặc không thể. TheDanh kèo bóng đá euro
dòng cũng có thể được chú thích, với một số macro thuộc tính BKI khác được mô tả trongGenbki.h
, để xác định các thuộc tính khác của danh kèo bóng đá euro nói chung, chẳng hạn như liệu đó có phải là mối quan hệ chung.
Mã bộ nhớ cache của kèo bóng đá euro (và hầu hết các mã-MUNGING CATALOG nói chung) giả định rằng các phần có độ dài cố định của tất cả các bộ dữ liệu kèo bóng đá euro trên thực tế có mặt, bởi vì nó ánh xạ khai báo cấu trúc C này lên chúng. Do đó, tất cả các trường có độ dài thay đổi và các trường vô hiệu hóa phải được đặt ở cuối và chúng không thể được truy cập dưới dạng các trường cấu trúc. Ví dụ: nếu bạn đã cố gắng đặtpg_type
.TyPrelid
Để được null, nó sẽ thất bại khi một số mã cố gắng tham chiếuTYPETUP- TYPRELID
(hoặc tệ hơn,Typetup- Typelem
, vì điều đó sauTyPrelid
). Điều này sẽ dẫn đến các lỗi ngẫu nhiên hoặc thậm chí vi phạm phân đoạn.
Là người bảo vệ một phần so với loại lỗi này, không nên hiển thị các trường có độ dài thay đổi hoặc vô hiệu hóa trực tiếp cho trình biên dịch C. Điều này được thực hiện bằng cách gói chúng trong#ifdef catalog_varlen
...#endif
(trong đócatalog_varlen
là một biểu tượng không bao giờ được xác định). Điều này ngăn mã C khỏi cố gắng bất cẩn để truy cập các trường có thể không ở đó hoặc có thể ở một số bù khác. Là một người bảo vệ độc lập chống lại việc tạo hàng không chính xác, chúng tôi yêu cầu tất cả các cột phải không thể đánh dấu để được đánh dấu trongPG_Attribution
10286_10352không null
Nếu chúng có chiều rộng cố định và không được đi trước bởi bất kỳ cột có thể thay đổi hoặc có thể thay đổi nào. Trường hợp quy tắc này không đủ, bạn có thể buộc đánh dấu chính xác bằng cách sử dụngBKI_FORCE_NOT_NULL
vàBKI_FORCE_NULL
Chú thích khi cần.
Mã Frontend không nên bao gồm bất kỳ nàopg_xxx.h
Tệp tiêu đề danh kèo bóng đá euro, vì các tệp này có thể chứa mã C sẽ không biên dịch bên ngoài phần phụ trợ. (Thông thường, điều đó xảy ra vì các tệp này cũng chứa các khai báo cho các chức năng trongsrc/backend/catalog/
10982_11056PG_XXX_D.H
Tiêu đề, sẽ chứa OID#define
S và bất kỳ dữ liệu nào khác có thể được sử dụng ở phía máy khách. Nếu bạn muốn macro hoặc mã khác trong tiêu đề danh kèo bóng đá euro được hiển thị với mã frontend, hãy viết#ifdef exchose_to_client_code
...#endif
xung quanh phần đó để hướng dẫnGenbki.pl
Để sao chép phần đó vàoPG_XXX_D.H
tiêu đề.
Một vài trong số các danh kèo bóng đá euro rất cơ bản đến mức chúng thậm chí không thể được tạo bởiBKI Tạo
Lệnh được sử dụng cho hầu hết các danh kèo bóng đá euro, bởi vì lệnh đó cần viết thông tin vào các danh kèo bóng đá euro này để mô tả danh kèo bóng đá euro mới. Chúng được gọi làBootstrapDanh kèo bóng đá euro và xác định một công việc cần thêm nhiều công việc: Bạn phải chuẩn bị thủ công các kèo bóng đá euro thích hợp cho chúng trong các nội dung được tải sẵn củapg_ class
vàPG_TYPE
và các kèo bóng đá euro đó sẽ cần được cập nhật cho các thay đổi tiếp theo đối với cấu trúc của danh kèo bóng đá euro. (Danh kèo bóng đá euro Bootstrap cũng cần các kèo bóng đá euro được tải sẵn trongPG_Attribution
, nhưng may mắn làGenbki.pl
12390_12490
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Để kèo bóng đá euro cáo vấn đề tài liệu.