像这样的事情:
alloc/free
,pthread_*
,longjump
Java中的Thread
,ThreadLocal
,ClassLoader
,JavaCompiler
,java.lang.instrument
,WeakReference
等需要运行时的特殊支持,并为语言本身无法表达的语言添加新的语义。
汇编语言扩展或外部模块或内置反射API也可以访问运行时并可以改变行为。
我寻找一般为这种语言扩展命名的术语,它为通常的语言结构无法表达的语言带来新的语义。
答案 0 :(得分:1)
听起来你在谈论 Directitive 或 Pragma 。来自wikipedia:
在计算机编程中,指令或编译指示(来自“实用”)是一个 语言构造,指定编译器(或汇编程序或 解释器)应该处理它的输入。指令不属于 语言本身 - 它们不是语法的一部分,可能会有所不同 编译器到编译器 - 但是作为带内形式起作用 命令行选项,指定编译器行为,或者是 由预处理器处理。在某些情况下,指令指定全局 行为,而在其他情况下,它们只会影响本地部分,例如 作为编程代码块。在某些情况下,例如一些C pragma, 指令是可选的编译器提示,可以忽略,但是 通常它们是规定性的,必须遵循。但是,一个 指令不会在语言本身中执行任何操作,但是 而只是改变了编译器的行为。