【发布时间】:2012-02-28 16:40:54
【问题描述】:
我正在使用 NDK(jni) 在 Android 上编写一些本机代码。
我想关闭 gcc 编译器优化。
现在我将LOCAL_CFLAGS += -O0 添加到Android.mk,我不确定它是否有效。
我写了一些代码来测试这样的循环开销:
// gettime
for(int i = 0 ; i<10000;i++)
{
}
// gettime
时间差太小,我确定循环已经被编译器删除了。
我可以将i 更改为 volatile 变量,但我想测试我是否正确关闭了编译器优化。
我如何知道 gcc(ndk-build) 使用的优化级别,我可以将 make 设置为详细以获取所有消息吗?
提前致谢。
【问题讨论】:
-
10k
incs 很有可能在 10k 个时钟周期内完成。即使在“慢速”处理器上,这也真的快。
标签: gcc android-ndk makefile java-native-interface compiler-optimization