gpt4 book ai didi

c - "Inlining"(某种)C 运行时的函数

转载 作者:太空狗 更新时间:2023-10-29 14:59:58 25 4
gpt4 key购买 nike

我在考虑一个典型的问题,该问题非常适合 JIT,但很难用原始 C 来解决。该场景正在设置一系列将要“组合”的函数指针(如数学函数组合)在运行时调用一次,然后调用很多次。

以明显的方式进行会涉及许多虚拟调用,这些调用很昂贵,而且如果有足够多的嵌套函数来完全填满 CPU 分支预测表,那么性能会大大下降。

在像 Lisp 这样的语言中,我可能可以处理代码并用函数的实际内容替换“虚拟”调用,然后调用 compile 以获得优化版本,但这看起来很在 C 中容易出现 hacky 和错误,使用 C 是解决这个问题的必要条件 ;-)

那么,您知道在 C 语言中是否有标准、可移植且安全的方法来实现这一点?

干杯

最佳答案

您可能想看看 LLVM。他们有一个库,允许从 C 编译代码(以及更多东西),它支持许多平台并且是一个开源项目:http://llvm.org/

关于c - "Inlining"(某种)C 运行时的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2775440/

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