gpt4 book ai didi

c++ - 动态代码编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:08 33 4
gpt4 key购买 nike

我正在开发一个呈现迭代分形系统的程序。我想添加这样的功能,让人们可以定义自己的迭代过程,并编译该代码以使其高效运行。

我目前不知道如何执行此操作,并希望了解有关阅读内容以了解如何执行此操作的提示。

主程序是用C++写的,我熟悉C++。事实上,在大多数情况下,我知道如何将其转换为可以实现目标的汇编代码,但我不知道如何采取额外的步骤将其转换为机器代码。如果可能的话,我想像我相信许多游戏系统模拟器的工作方式一样动态编译代码。

如果不清楚我在问什么,请告诉我,以便我澄清。

谢谢!

最佳答案

要动态编译的例程是否需要使用任何特定语言。如果该问题的答案是“是的,它必须是 C++”,那么您可能就不走运了。 C++ 是在线重新编译的最糟糕的选择。

您的应用程序的动态部分(分形迭代器例程)是否是主要的 CPU 瓶颈?如果您能负担得起使用未编译的语言,您可能会为自己省去很多麻烦。 Lua 和 JavaScript 都是高度优化的解释型语言,它们的运行速度只比本地编译代码慢几倍。

如果您真的需要将动态功能编译为机器代码,最好的选择可能是使用 clang/llvm. clang 是由 Apple(和其他一些公司)开发的 C/Objective-C 前端,用于使在线动态重新编译性能良好。 llvm 是 clang 用于将可移植字节码转换为 native 机器码的后端。请注意,clang 目前不支持很多 C++,因为这是一种很难正确使用的语言。

关于c++ - 动态代码编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441947/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com