使用 LLVM 进行面向方面编程

发布于 2024-12-05 17:03:00 字数 32 浏览 1 评论 0原文

有什么方法可以将方面集成到 LLVM 字节码中吗?

Is there some way to integrate aspects into LLVM-bytecode?

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

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

发布评论

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

评论(1

森林散布 2024-12-12 17:03:00

如果您指的是现有方式,我还没有看到任何稳定/生产中的东西,但是有很多论文,例如:

http://www.cs.rochester.edu/meetings/TRANSACT07/papers/felber.pdf

http://llvm.org/pubs/2005-03-14-ACP4IS -AspectsKernel.pdf

你最好的选择是找到你感兴趣的 LLVM 支持的语言,然后寻找具有 AOP 框架的项目 语言。有些是预编译器,它们可以“按原样”工作(假设您可以运行编写预编译器的任何内容)。直接操作编译器输出的框架必须进行修改才能在 LLVM 代码上运行。

一般答案是“当然”——任何允许访问生成代码或编译过程的系统都将支持方面,这只是您想要付出多少努力的问题放入其中。

LLVM 拥有用于研究字节码的出色工具,在我看来,这些工具使 AOP 之类的东西玩起来更有趣。

If you mean an existing way, I haven't seen anything that's stable/in production, but there are a number of papers, for example:

http://www.cs.rochester.edu/meetings/TRANSACT07/papers/felber.pdf

http://llvm.org/pubs/2005-03-14-ACP4IS-AspectsKernel.pdf

Your best bet would be to find an LLVM-supported language you're interested in, then look for projects that have an AOP framework for that language. Some are pre-compilers, which would work "as-is" (assuming you can run whatever the pre-compiler is written in). Frameworks that directly manipulate compiler output would have to be modified to operate on LLVM code.

The general answer is "of course"--any system that allows access to generated code or the compilation process will support aspects, it's just a matter of how much effort you want to put in to it.

LLVM has great tools for poking at bytecode, which IMO make things like AOP a lot more fun to play with.

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