Nic*_*ick 5 python eval compilation exec
eval和exec的等价物是否可以用编译语言存在?如果是这样,他们将如何编译(粗略地说)?
当然,各种Lisp环境已有数十年的能力.Lisp编译器通常基于每个函数工作,编译器和运行时系统协同工作.
当被问到eval什么时,Lisp运行时环境会将列表(数据结构)传递给编译器进行编译.编译器可以生成机器代码(或者可能是字节码,具体取决于系统),然后该函数将在机器级别调用,就像程序中的每个其他函数一样.
对于初学者来说,python 是一种编译语言,它只是在运行时进行编译.话虽这么说,你需要做的eval任何其他编译语言的实现都是能够运行编译器(并动态加载目标代码) - 你可以很容易地用Python(和一连串的其他语言)来做到这一点,因为编译器是运行时的组成部分.从技术上讲,没有什么可以阻止用C编写的程序调用编译器并在运行时加载结果(使用dlopen),这不常见,因为C运行时不需要编译器,因此大多数用户没有编译器.
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |