2

这样的事情:

  • alloc/free, pthread_*,longjump在 С
  • ThreadJava 中的,ThreadLocal​​ , ClassLoader, JavaCompiler, java.lang.instrument,等WeakReference
  • C++ 模板语言扩展(回到过去)
  • 运行时二进制/字节码检测

需要运行时的特殊支持,并为语言添加语言本身无法表达的新语义。

汇编语言扩展或外部模块或内置反射 API 也可以访问运行时并可以更改行为。

我寻找通常为这种语言扩展命名的术语,它为通常的语言结构无法表达的语言带来新的语义。

4

1 回答 1

1

听起来您在谈论DirectivePragma。来自维基百科

在计算机编程中,指令或 pragma(来自“pragmatic”)是一种语言结构,它指定编译器(或汇编器或解释器)应如何处理其输入。指令不是语言本身的一部分——它们不是语法的一部分,并且可能因编译器而异——而是作为命令行选项的带内形式,指定编译器行为,或者由一个预处理器。在某些情况下,指令指定全局行为,而在其他情况下,它们只影响局部部分,例如程序代码块。在某些情况下,例如某些 C 编译指示,指令是可选的编译器提示,可能会被忽略,但通常它们是规定性的,必须遵循。但是,指令不会在语言本身中执行任何操作,

于 2013-10-03T22:05:42.303 回答