gpt4 book ai didi

c++ - 用 C/C++ 代码中的定义替换所有函数调用

转载 作者:太空狗 更新时间:2023-10-29 19:53:44 24 4
gpt4 key购买 nike

我想知道是否有一些理论/工具可以将一段包含函数调用的代码替换为所有函数调用都已被各自代码替换的代码。

喜欢

main()
{
fun();
}

fun()
{
int i;
fun2();
}

fun2()
{
int j;
}

进入

main()
{
int i;
int j;
}

我知道有很多事情需要处理,比如局部变量名、递归调用、外部函数调用等等...... ..

我也知道它可能一点用处都没有,但是这样的东西还存在吗?即使在理论上?

我应该称它为高级每处理器单元:)

最佳答案

编译器通常可以判断何时执行此操作是个好主意,并且已经自动执行了 inlining whenever needed .您还可以建议应该在函数之前使用 inline 关键字来内联函数(请注意,它实际上仍然不会强制执行它,并且编译器可能会决定避免内联)。通常不会手动执行此操作是个好主意,因为现代编译器往往会自行找出最佳内联。 This article explains inline functions really well, I found it very helpful

编辑 1:

人们可能想要进行您所说的内联有多种原因。如果您觉得您的代码被分成许多不同的功能,降低了它的清晰度并使其过于冗长,您可以尝试使用重构工具,例如 VAssist X Visual Studio plugin 提供的工具。 .虽然这个插件并没有真正按照您的建议执行(我想不出有什么工具可以执行),但它可以帮助轻松移动函数/方法,让您清理代码。

关于c++ - 用 C/C++ 代码中的定义替换所有函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211354/

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