This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
您好!
我对 diable_inlining 函数的用法有疑问。
我知道、为了内联函数、必须使用某种级别的优化来编译代码。 我假设函数未内联-Ooff、即使我向函数添加了内联关键字。 如果我错了、请纠正我的问题。
假设我有一个内联函数、代码是使用-O2编译的。 如果我尝试使用-O2和-disable_inlining 选项进行编译、则使用相同的代码。 除了添加的分支和 return 语句之外、生成的汇编代码是否会有任何差异?
例如,func()是一个内联函数,它通过 -O2转换为汇编指令 X、Y、Z。 如果使用-O2和-disable_inlining 进行编译、是否会生成相同的 X、Y、Z (没有添加安全指令)?
此致、
Veena
[引用 user="Veena Kamath"]如果使用-O2和--disable_inlining 进行编译,是否会生成相同的 X、Y、Z (不添加任何组件说明)?
否 在一般概念层面上、您展示了函数内联的正确图示。 但它可以忽略一些细节。
当指令 X、Y、Z 内联到调用函数中时、通常会进行进一步优化。 指令可以在不使用时进行优化、并以不同的顺序与函数中的其他指令进行混合、等等。
当 func 未内联时、通常情况下 X、Y、Z 被设置和拆分函数的指令包围。
谢谢、此致、
乔治