python - 如果Python的exec和eval被编译了?

标签 python compilation eval exec

eval 和 exec 的等价物是否存在于编译语言中?如果是这样,它们将如何编译(粗略地说)?

最佳答案

对于初学者来说,python 一种编译型语言,它只是在运行时进行编译。话虽这么说,要在任何其他编译语言中实现 eval,您需要做的就是能够运行编译器(并动态加载目标代码)——您可以在 Python 中执行此操作(以及一连串的其他语言)很容易,因为编译器是运行时不可或缺的一部分。从技术上讲,没有什么可以阻止用 C 编写的程序在运行时调用编译器并加载结果(使用 dlopen),这并不常见,因为 C 运行时不需要编译器,所以大多数用户没有。

关于python - 如果Python的exec和eval被编译了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611369/

相关文章:

python - QGraphicsScene 中 Qrubberband 的渲染错误

python 检查图形是 2d 还是 3d

compilation - 在 Windows 7 64 上编译 ATLAS 3.10.0

ios - 如何最好地模块化 Xcode 项目以加速构建

lisp - Common Lisp 中的函数名和动态绑定(bind)

Perl die() 调用神秘地没有死

python - 如何在两个单独的 Pandas DataFrame 中的所有值之间进行插值?

python - 如何更改存储在内存地址中的值?

ruby-on-rails - 语法检查或 "Compiling"Ruby on Rails 应用程序

ruby-on-rails - 在数据库中存储正则表达式