2009-08-11 38 views

Trả lời

21

#pragma chỉ là tiền tố cho một tính năng biên dịch cụ thể.

Trong trường hợp này, #pragma once có nghĩa là tệp tiêu đề này sẽ chỉ được bao gồm một lần trong một tệp đích cụ thể. Nó loại bỏ sự cần thiết cho include guards.

+1

etherything là đúng, ngoại trừ cảnh báo rằng #pragmas là phần mở rộng trình biên dịch, chúng không phải là tiêu chuẩn. Bạn nên tránh chúng. – f0b0s

+1

không phải là những gì ông nói? Tính năng biên dịch cụ thể == mở rộng trình biên dịch không chuẩn – jalf

+0

@John - Vậy tôi có thể lấy danh sách các tính năng cụ thể của trình biên dịch mà tôi có thể sử dụng ở đâu? Những thay đổi này phụ thuộc vào GCC và Intel CC Tôi chắc chắn, vậy bảo vệ an toàn tốt nhất cho mã di động là gì? – user147502

5
  • Bảo vệ đầu trang là gì? Tệp này sẽ chỉ được bao gồm một lần.
  • Khi nào - ở quá trình biên dịch
  • lý do - để tránh tăng gấp đôi bao gồm.

"Bảo vệ đầu trang là các đoạn mã nhỏ bảo vệ nội dung của tệp tiêu đề không được bao gồm nhiều lần."

Các vấn đề liên quan