AppOrderFiles
AppOrderFiles copied to clipboard
The easiest way to generate order files for Mach-O using Clang. Improving App Performance.
重排后貌似没什么效果
测试数据(重排) 1. EnterMain()—>1623.5341796875 coldLanuchFinished-->3591.0869140625 2. EnterMain()—>1671.537841796875 coldLanuchFinished-->4203.284912109375 3. EnterMain()—>1463.7109375 coldLanuchFinished-->3916.2109375 4. EnterMain()—>1535.093994140625 coldLanuchFinished-->4235.630126953125 5. EnterMain()—>1654.43505859375 coldLanuchFinished-->4197.576904296875 6. EnterMain()—>1413.18115234375 coldLanuchFinished-->4113.499267578125 测试数据(非重排) 1. EnterMain()—>1381.821044921875 coldLanuchFinished-->4133.60986328125 2. EnterMain()—>1563.06591796875 coldLanuchFinished-->4042.641845703125 3. EnterMain()—>1490.971923828125 coldLanuchFinished-->4021.407958984375 4....
我们项目的工程是cocoapod管理, 除了main文件在主工程, 其他文件都分部在pods里, 我把工程配置好后运行, 发现输出的order file文件里只有_main, 这个的原因是什么, 怎么解决呢 是否只有在 Build phase->Compile Sources里的文件才能检测到
build setting配置是clang的参数,如果pod引入的就是framework,并不是源码的pod,这类的framework的库是否生效?
0 0x1049eb198 __assert_rtn + 127 1 0x1049f4f04 ld::passes::order::Layout::buildFollowOnTables() (.cold.5) + 0 2 0x1049c1de7 ld::passes::order::Layout::buildFollowOnTables() + 2209 3 0x1049c27c5 ld::passes::order::Layout::doPass() + 23 4 0x1049c28cd ld::passes::order::doPass(Options const&, ld::Internal&) + 151 5 0x1048ce113...
在设置-sanitize-coverage=func -sanitize=undefined后,编译时,当Swift组件中import OC moudle时 会报 “No such module 'xxx'”