Wiem więc, czym jest pragma i do czego służy, ale jakie jest znaczenie tego słowa? Używałem go wiele razy w kodzie, ale nigdy tak naprawdę nie wiedziałem, co to słowo faktycznie oznacza lub oznacza.
Wiem więc, czym jest pragma i do czego służy, ale jakie jest znaczenie tego słowa? Używałem go wiele razy w kodzie, ale nigdy tak naprawdę nie wiedziałem, co to słowo faktycznie oznacza lub oznacza.
Odpowiedzi:
Zgodnie z dokumentem będącym własnością rządu Stanów Zjednoczonych (!) Opisującym projekt Ada: Rationale for the Design of the Ada® Programming Language :
Pragma (z greckiego słowa oznaczającego działanie) służy do kierowania działaniami kompilatora w określony sposób, ale nie ma wpływu na semantykę programu (ogólnie).
Podoba mi się (ostatnie zastrzeżenie) tam ...
To dobrze nawiązuje do słowników greckich on-line (np. Cytowanych przez Martina Yorka ), które mówią, że pragma ( πράγμα , jak skomentował to pytanie asveikau) oznacza :
Wydaje się, że kluczem do zrozumienia jest słowo działanie, a nie informacja .
W matematyce i logice pragma jest czymś danym, faktem, warunkiem wstępnym argumentacji, problemu lub dowodu, który następuje.
Pobrane bezpośrednio z Wikipedii (programowanie):
W Adzie dyrektywy kompilatora nazywane są pragmami (skrót od „informacji pragmatycznej”).
Chociaż nie jest to wyraźnie dla C, to i tak powinno odpowiedzieć na twoje pytanie. Jednak, jak wskazał TJ, nie ma żadnego ważnego źródła dla tej informacji.
Od starożytnej Grecji:
pragma: rzecz zrobiona, fakt
Jak w przypadku wszystkich geeków, ktoś próbował być zbyt sprytny dla własnego dobra. Niestety jego pierwotne znaczenie zostaje utracone dla reszty z nas (chyba że masz Google i słownik łaciński / grecko-angielski).
http://www.studylight.org/lex/grk/view.cgi?number=4229
http://www.bibletools.org/index.cfm/fuseaction/Lexicon.show/ID/G4229/pragma.htm
Oryginał (tak mówi powyższa strona, ale nie mam kopii tej książki):
Thayer i Smith. „Wpis w Leksykonie greckim dla Pragmy”. „Grecki leksykon Nowego Testamentu”.
Język programowania Ada był prawdopodobnie pierwszym kompilatorem, który użył pragmy do określenia dyrektyw preprocesora. Słowo to zostało użyte jako skrócona forma „informacji pragmatycznej”
Kiedy projektowano język C, nie miał on początkowo dyrektyw pragma, ale został szybko dodany do specyfikacji w celu obsługi niestandardowych funkcji kompilatora. (tj. #pragma Optimization_level dla kompilatora Intel C ++)
Od tego czasu wiele języków zaimplementowało pragmę w takiej czy innej formie, w tym C #, ale często są one ograniczone do tworzenia ostrzeżeń dotyczących czasu i wskazówek dotyczących optymalizacji.
Jedną z najbardziej powszechnych i przydatnych pragm, w niestandardowych C i C ++, jest #pragma kiedyś używana do określenia, że plik powinien być uwzględniany tylko raz.