IT圈老男孩1 发表于 2022-5-11 09:20
似乎有误解...我是说让他们折叠后仍然有不同的地址不就行了吗TheLudGamer 发表于 2022-5-11 09:24
嗯,我没讲清楚,折叠后只保留一份副本,是写在 text 段的,所以地址是一致的;不同地址的话成了通过 data 段的指针间接调用了XGundam05 发表于 2022-5-11 09:32
对于移动端,有一个理论认为,二进制体积越小,应用下载安装量越大FeastSC 发表于 2022-5-11 09:36
补充一下,一般认为二进制越大,cpu 的 icache mssing rate 越高,会影响代码性能Arzie100 发表于 2022-5-11 09:36
其实他的意思是,链接器再生成一个函数,通过jmp指令跳到实际的函数,这样就不会函数地址相同了。stonstad 发表于 2022-5-11 09:37
感谢指正。我认为层主的意思是:是否可以合并间接跳转的;这个在 all 模式是有考虑的,而 safe 模式没有(保守而为了能够保证正确性)。而你的意思以及后来层主提出的,我认为是:做地址比较时的一种辅助手段,这样目标函数合并不影响地址比较;是不错的提议,ICF 优化目标是二进制体积,多生成函数这样做本身也是对其他一些优化的一种对抗,改变了预期行为,且会提升复杂度。
页:
1
[2]