“杂注”这个词来自哪里?
所以我知道什么是编译指令,它是用来做什么的,但是这个词本身的含义是什么? 我已经在代码中多次使用它,但是我从来不知道这个词实际上代表或代表什么。
根据一份描述Adadevise的美国政府所有(!)文件: Ada®编程语言devise的理由 :
一个编译指示(来自希腊词义动作)用于以特定方式指示编译器的动作,但对程序的语义没有影响(一般来说)。
我喜欢那里(最后一个警告)…
这个交叉引用与网上希腊语词典(例如马丁·约克引用的)一样,指出编译指示( πράγμα ,就像asveikau对原始问题的评论) 意味着 :
- 已经完成的事情,一个行为,一个成就的事实
- 什么是做或正在完成
- 规范。 商业,商业交易
- 事情,问题,事情
- 规范。 从法医学的angular度讲,法律,案件,诉讼的问题
- 那是或者存在的东西
似乎理解的关键是行动而不是信息 。
在math和逻辑学中,一个附注是给定的,事实的,是后面的论证,问题或certificate的先决条件。
拉维基百科 (编程):
在Ada中,编译器指令称为杂注(“实用信息”的缩写)。
虽然它不是明确的C,这应该回答你的问题。 然而,正如TJ指出的那样,这条信息没有有效的来源。
来自古希腊的:
杂注:做的事情,事实
就像所有的东西都是怪异的,有人为了自己的利益而试图做得太聪明。 不幸的是,它的原始意义却被我们其他人所遗忘(除非你有Google和拉丁/希腊语到英语字典)。
http://www.studylight.org/lex/grk/view.cgi?number=4229
http://www.bibletools.org/index.cfm/fuseaction/Lexicon.show/ID/G4229/pragma.htm
原文(就是上面这个页面说的,但是我没有那本书的副本):
塞耶和史密斯。 “Pragma的希腊词典”。 “新约希腊词汇”。
编程语言Ada很可能是第一个使用编译指示来指定预处理指令的编译器。 这个词被用作“实用信息”的缩写forms,
当C编程语言被devise出来的时候,它最初并没有编译指示,但很快被添加到规范中以支持自定义的编译器function。 (即intel C ++编译器的#pragma optimization_level)
从那以后,许多语言都以某种forms实现了编译指示,包括C#,但是它们通常仅限于构build时间警告和优化提示。
在非标准的C和C ++中,最常用和最有用的编译指令之一是#pragma,曾经用于指定一个文件只能包含一次。