Ama*_*mar 3 c c++ theory compiler-construction compiler-theory
我想知道是否有一些理论/工具可用于将包含函数调用的代码替换为代码,其中所有函数调用已被其各自的代码替换.
喜欢
main()
{
fun();
}
fun()
{
int i;
fun2();
}
fun2()
{
int j;
}
Run Code Online (Sandbox Code Playgroud)
成
main()
{
int i;
int j;
}
Run Code Online (Sandbox Code Playgroud)
我知道有很多需要注意的事情,比如局部变量名,递归调用,外部函数调用等等.. ..
我也知道它可能根本不是很有用,但仍然存在这样的事情吗?甚至在理论上?
我应该称它为每个处理器单位提前:)
And*_*san 10
编译器通常可以判断何时执行此操作是个好主意,并且在需要时已经自动执行内联.您还可以建议在函数inline
之前使用关键字来内联函数(注意它实际上并不强制它,编译器可能决定避免内联).手动执行此操作通常不是一个好主意因为现代编译器倾向于自己找出最好的内联.本文非常好地解释了内联函数,我发现它非常有用
有几个原因可以解释为什么人们可能想要这样做.如果您觉得您的代码被分成许多不同的功能,降低了它的清晰度并使其过于冗长,您可以尝试使用重构工具,例如VAssist X Visual Studio插件提供的工具.虽然这个插件并没有真正按照你的建议(我不能想到一个工具),但它可以帮助您轻松地移动函数/方法,从而可以清理代码.
归档时间: |
|
查看次数: |
823 次 |
最近记录: |