Rus*_*Kay 9 android android-ndk
我被要求为我们的产品评估Android平台,我正在寻找各种选项,我只是刚刚浮出水面而且困扰我的一件事是我无法看到如何将代码编译成直接的ARM代码(没有Thumb),我知道Thumb运行速度较慢,我们需要在代码的关键部分进行性能测试.
我认为应该只是在文件中设置-march
标志,但我不能让它工作......LOCAL_CFLAGS
Android.mk
有人可以帮忙吗?
fad*_*den 16
您可以构建ARM,Thumb或两者的混合.
在makefile中LOCAL_SRC_FILES
,在列出的位置MyFile.c
,指定MyFile.c.arm
(不要在磁盘上重命名文件,只在源文件列表中执行).此约定在整个Android中用于性能关键的代码(或者由于某种原因只需要ARM).
通常的说明适用,当然:Thumb代码往往需要更多的指令来完成的东西,但每个指令是成功的一半大小,这样的代码通常是慢了一点,但也是一个公平的有点小.在某些情况下,较小的大小允许更好地适应ARM CPU中的(微小)高速缓存,并且实际上可以更快.
bit*_*ise 16
为模块指定以下标志Android.mk
将直接编译ARM代码.
LOCAL_ARM_MODE := arm
Run Code Online (Sandbox Code Playgroud)
启用优化也可能有所帮助:
LOCAL_CFLAGS := -O3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6075 次 |
最近记录: |