LLVM:如何在运行时访问 JIT API编辑我自己?

发布于 2024-10-22 06:22:00 字数 103 浏览 1 评论 0原文

您能否建议是否可以从正在执行的程序访问 LLVM JIT API?我的目标是能够动态操作(添加/更新/删除)类、方法和数据。

我最好还是和 Clang 待在一起。欢迎任何想法。

could you suggest if that's possible to access LLVM JIT API from the program being executed? My goal is to be able to manipulate(add/update/remove) classes, methods and data on the fly.

Preferably, I would stay with Clang. Any ideas are welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北方。的韩爷 2024-10-29 06:22:00

这似乎是很容易的事情。在 JIT 中,您可以提供任何外部函数到任意地址之间的映射。所以,基本上你只需在被 JIT 处理的 IR 中定义一些函数,将其绑定到外部世界的地址,这会给你带来麻烦。

特别是,http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html#a805704b52a327cc6b37aebf9cba14169是您应该在此处使用的功能。

This seems to be pretty easy stuff. In the JIT you can provide a mapping between any external function to the arbitrary address. So, basically you'll just define some function in your IR being JITed, bind it to the address in the outside world and this will make a trick for you.

In particular, http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html#a805704b52a327cc6b37aebf9cba14169 is the function you should use here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文