C++标准
$16.6 Pragma directive
A preprocessing directive of the form
# pragma pp-tokensopt
causes the implementation to behave in an implementation-defined manner. Any pragma that is not recognized by the implementation is ignored.
Each implementation of C and C++ supports some features unique to its host machine or operating system. Some programs, for example, must exercise precise control over the memory areas where data is put or to control the way certain functions receive parameters. The #pragma directives offer a way for each compiler to offer machine- and operating system-specific features while retaining overall compatibility with the C and C++ languages.
Pragmas are machine- or operating system-specific by definition, and are usually different for every compiler. Pragmas can be used in conditional statements, to provide new preprocessor functionality, or to provide implementation-defined information to the compiler.
就连这个 owned by the United States Government 的文档,也提 implementation :)
Ada
http://archive.adaic.com/standards/83rat/html/ratl-02-01.html
Some pragmas are defined by the language (see Annex B of the reference manual). It is expected that other pragmas will be defined by various implementations, in particular for the programming support environments developed around the Ada language.
但是,首先它讲的就是
...a program text can include elements that have no influence on the meaning of the program but are included as information and guidance for the human reader or for the compiler. These are:
Comments
Pragmas
A pragma (from the Greek word meaning action) is used to direct the actions of the compiler in particular ways, but has no effect on the semantics of a program (in general). ...
如此,说 pragma 是 pragmatic information 之意的说法恐怕是搞颠倒了
martin clayton 在解答里说:Seems the key to understanding is the word action rather than information 是不是也有点这个意思 :)