llvm可以执行托管语言的代码吗
Can llvm execute code from managed languages?
我正在制作一个应用程序,我想使用ExecutionEngine加载并执行llvm位代码。到目前为止,我已经用通过clang编译的非常简单的C代码做到了这一点。
我的想法是,如果我在这个项目中使用llvm,那么它可能更不受语言限制,比如说,特别是选择lua/python/javascript。但我对托管语言或脚本语言的工作方式感到困惑,因为它们通常与具有GC等资源的平台绑定在一起。所以我不确定它是如何通过ExecutionEngine实际工作的。
因此,作为一个示例场景,假设一个用户想要编写一些在我的应用程序中运行的python代码。然后,我希望他们向我提供代表python代码的比特码,然后我将使用llvm的ExecutionEngine在C++应用程序中运行该代码。
这可能吗?python可以简单地编译成位代码,然后在以后使用ExecutionEngine运行吗?如果没有,我需要知道什么才能理解为什么不呢?
经过一些阅读和对话,我相信答案是ExecutionEngine本质上执行代码就像它是本机C代码一样。这意味着,如果你想执行llvm的lua/python/javascript代码ontop,你需要实际发送该运行时的位代码。然后运行时可以像往常一样解析和执行脚本。
据我所知,这些运行时还没有一个能够将脚本直接编译成llvm位代码。
相关文章:
- 不同语言中相同代码的不同行为
- QLocale,从语言名称到语言代码(2 个字母)
- 将C 代码桥接到我的Swift代码中.哪些文件扩展名为XCode中的基于C的语言
- 为整个Markdown文档设置默认的PER代码语言
- 如何从代码中检查某些语言是否在Tesseract API中安装
- 如何用C++这样的语言验证代码在硬件中的实际作用
- 如何通过C#语言通过TCP发送HEX代码
- Simulink Coder语言 - 如何将外部代码与模型接口
- 支持C和Python之间的跨语言(C)标签的代码编辑器
- 是否可以将Windows和DirectX代码编写使用语言扩展
- 在 C++ QT GUI 中更改语言时代码未更新
- 在 C 和 C 中都有效的代码可以在每种语言编译时产生不同的行为C++
- llvm可以执行托管语言的代码吗
- 使用大多数Java代码制作可执行文件,但可能添加了其他语言
- 将代码片段转换为另一种语言 不必要的 = OP
- C/C++语言-指针和算术..异常代码:c0000005
- 国家/地区和语言代码检测
- r语言 - 在 Windows 上使用 Rcpp 创建.dll文件并编译C++代码
- 混合语言代码文档-需要帮助调试氧
- 编译器问题或c语言代码块中的一些错误