![]() |
1
1
你的链接器将能够生成一个包含ROM和RAM使用摘要的链接图-你可以使用内联和不使用内联来构建,并亲自查看结果。 内联会导致代码副本替换对单个代码副本的调用,因此根据定义,代码空间(在您的例子中是ROM)会增加。它对RAM的影响很小,不过由于不需要返回地址,所以可以减少少量的堆栈使用。这是运行时缩减,不会显示在链接映射中。
只有当编译器选择应用
编译器可能有强制内联的方法,但是
|
![]() |
2
-1
如果从闪存运行代码,代码的长度不会影响RAM的使用。如果函数内联了不止一次,那么代码当然会更长(但不能用'inline'关键字保证)。
“inline”关键字只是编译器的建议,如果要强制使用内联,则需要使用apripriate属性或pragma-for gcc
|