Vì vậy, tôi biết pragma là gì, và nó được sử dụng để làm gì, nhưng ý nghĩa của bản thân từ này là gì? Tôi đã sử dụng nó nhiều lần trong mã, nhưng tôi chưa bao giờ thực sự biết từ thực sự có nghĩa là gì hoặc viết tắt của từ này.
Vì vậy, tôi biết pragma là gì, và nó được sử dụng để làm gì, nhưng ý nghĩa của bản thân từ này là gì? Tôi đã sử dụng nó nhiều lần trong mã, nhưng tôi chưa bao giờ thực sự biết từ thực sự có nghĩa là gì hoặc viết tắt của từ này.
Câu trả lời:
Theo tài liệu (!) Thuộc sở hữu của Chính phủ Hoa Kỳ mô tả thiết kế của Ada: Cơ sở lý luận cho việc thiết kế ngôn ngữ lập trình Ada® :
Một pragma (từ tiếng Hy Lạp có nghĩa là hành động) được sử dụng để chỉ đạo các hành động của trình biên dịch theo những cách cụ thể, nhưng không ảnh hưởng đến ngữ nghĩa của chương trình (nói chung).
Tôi thích (báo trước) ở đó ...
Điều này tham khảo tốt với các từ điển tiếng Hy Lạp trực tuyến (ví dụ như được trích dẫn bởi Martin York ) nói rằng pragma ( πράγμα , như đã nhận xét về câu hỏi gốc của asveikau) có nghĩa là :
Có vẻ như chìa khóa để hiểu là từ hành động hơn là thông tin .
Trong toán học và logic, một pragma là một thực tế, một điều kiện tiên quyết cho lập luận, vấn đề hoặc bằng chứng sau đó.
Lấy ngay từ Wikipedia (lập trình):
Trong Ada, các chỉ thị của trình biên dịch được gọi là pragmas (viết tắt của "pragmatic information").
Mặc dù nó không rõ ràng cho C, nhưng dù sao thì điều này cũng sẽ trả lời câu hỏi của bạn. Tuy nhiên, như TJ đã chỉ ra, không có nguồn hợp lệ nào được đưa ra cho phần thông tin này.
Từ tiếng Hy Lạp cổ đại:
pragma: một việc đã làm, một sự thật
Như với tất cả những thứ lập dị, ai đó đã cố tỏ ra quá thông minh vì lợi ích của chính họ. Thật không may, ý nghĩa ban đầu của nó bị mất đối với phần còn lại của chúng ta (trừ khi bạn có Google và từ điển tiếng Latinh / tiếng Hy Lạp sang tiếng Anh).
http://www.studylight.org/lex/grk/view.cgi?number=4229
http://www.bibletools.org/index.cfm/fosystemction/Lexicon.show/ID/G4229/pragma.htm
Bản gốc (đó là những gì trang trên nói, nhưng tôi không có bản sao của cuốn sách đó):
Thayer và Smith. "Mục từ tiếng Hy Lạp cho Pragma". "Sách tiếng Hy Lạp Tân Ước".
Ngôn ngữ lập trình Ada có thể là trình biên dịch đầu tiên sử dụng pragma để chỉ định các chỉ thị tiền xử lý. Từ này được sử dụng như một dạng rút gọn của "thông tin thực dụng"
Khi ngôn ngữ lập trình C được thiết kế, ban đầu nó không có chỉ thị pragma, nhưng nhanh chóng được thêm vào đặc tả để hỗ trợ các tính năng trình biên dịch tùy chỉnh. (tức là. #pragma Optimi_level cho trình biên dịch intel C ++)
Kể từ đó, nhiều ngôn ngữ đã triển khai pragma ở một số dạng, bao gồm cả C #, nhưng chúng thường bị giới hạn trong việc xây dựng các cảnh báo thời gian và gợi ý tối ưu hóa.
Một trong những pragma phổ biến và hữu ích nhất, trong C và C ++ không chuẩn, là #pragma từng được sử dụng để chỉ định rằng một tệp chỉ nên được đưa vào một lần.