2

次のようなもの:

  • alloc/free, pthread_*, longjumpin С
  • Thread、、、、、などJavaでThreadLocal_ ClassLoader_JavaCompilerjava.lang.instrumentWeakReference
  • C++ テンプレート言語拡張 (過去にさかのぼる)
  • ランタイム バイナリ/バイト コード インストルメンテーション

ランタイムからの特別なサポートを必要とし、言語自体では表現できない新しいセマンティックを言語に追加します。

また、アセンブラー言語拡張、外部モジュール、または組み込みのリフレクション API はランタイムにアクセスでき、動作を変更できます。

通常の言語構造では表現できない言語に新しいセマンティックをもたらすような言語拡張全般に名前を付ける用語を探します。

4

1 に答える 1

1

DirectitiveまたはPragmaについて話しているようです。ウィキペディアから:

コンピューター プログラミングでは、ディレクティブまたはプラグマ (「プラグマティック」から) は、コンパイラー (またはアセンブラーまたはインタープリター) がその入力を処理する方法を指定する言語構造です。ディレクティブは言語自体の一部ではありません。文法の一部ではなく、コンパイラによって異なる場合があります。代わりに、コマンド ライン オプションのインバンド形式として機能し、コンパイラの動作を指定するか、によって処理されます。プリプロセッサ。ディレクティブがグローバルな動作を指定する場合もあれば、プログラミング コードのブロックなどのローカル セクションにのみ影響する場合もあります。一部の C プラグマなど、場合によっては、ディレクティブはオプションのコンパイラ ヒントであり、無視されることがありますが、通常は規範的なものであり、従う必要があります。ただし、ディレクティブは言語自体で何のアクションも実行しません。

于 2013-10-03T22:05:42.303 に答える