我正在研究从90'开始模拟旧操作系统的应用程序 . 我用android ndk r10e和gcc 4.8构建c二进制文件 . 但是,因为谷歌支持gcc,我想切换到clang . 在将ndk更新为r15并成功构建之后,我运行了基准测试(在r15中是默认的编译器clang,而不是像在ndk r10e中的gcc) . 结果是模拟系统运行速度慢了23% . 我没有对Android.mk做任何更改,我使用-O3进行优化 . 我只更新了ndk . 在ndk r15仍然可以切换到gcc 4.9 . 我做到了,我恢复了失去的表现 . 甚至更多,似乎gcc 4.9稍微优化了gcc 4.8 . 但那并不重要 . 重要的是谷歌为未来的ndk版本删除了gcc,我应该切换到clang . 如果有经验丰富的编译器可以尝试为这个谜团带来一些亮点,我将非常高兴......从我在网上看到的内容,我预计clang会产生更快的二进制文件或者相同 . 我没有找到特殊的魔法铿锵编译器标志,我必须为Android.mk启用 .

非常感谢