我们的程序,一般由各种函数组成。
有的函数,只在程序内被调用一次。
有的,在多个地方被调用过。
对于 只在程序内被调用一次 的函数。======如果选择大小优化,编译器不会把它当作函数来处理,而是 Inline掉。(c语言里,可以保留函数的样子,便于阅读)但是,程序的执行,直接被嵌进去了,没有CALL,RETURN等动作。
那么,有的函数,只在程序内被调用两次 如何处理呢?
只在程序内被调用五次呢?
下面,是两个小程序 选择不同的 选项 及Inline threshold 参数 编译后大小对比:
size(speed)后面的数字,是 Inline参数,再后面,就是bin文件大小。
size 1 6.37 KB (6,528 字节) speed 16 15.7 KB (16,108 字节)
另一个小程序:
size 1 5.85 KB (5,996 字节) speed 16 7.14 KB (7,312 字节)
|