c – 如何使用android-ndk优化本机代码(速度优化)

c – 如何使用android-ndk优化本机代码(速度优化),第1张

概述我正在使用cygwin和 Windows7编译本机代码. 我在互联网上获得了很多优化技巧. APP_OPTIM := releasendk-build NDK_DEBUG=0-DNDEBUGLOCAL_CFLAGS += -O2 但我无法理解如何在Application.mk和Android.mk上设置这些. 我通过应用上述提示尝试了很多案例. 但是,我不认为优化应用于我的本机代码. App 我正在使用cygwin和 Windows7编译本机代码.
我在互联网上获得了很多优化技巧.
APP_OPTIM := releasendk-build NDK_DEBUG=0-DNDEBUGLOCAL_CFLAGS += -O2

但我无法理解如何在Application.mk和AndroID.mk上设置这些.
我通过应用上述提示尝试了很多案例.
但是,我不认为优化应用于我的本机代码.

Application.mk

APP_PROJECT_PATH := $(shell pwd)APP_MODulES := native_libAPP_OPTIM := releaseAPP_BUILD_SCRIPT := AndroID.mkAPP_ABI := armeabi

AndroID.mk

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODulE := cryptoLOCAL_SRC_fileS := lib/libcrypto.soinclude $(PREBUILT_SHARED_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := native_libLOCAL_SRC_fileS := nativeC.c \                   AES/main.c \                   AES/aes.c \  LOCAL_C_INCLUDES := ./lib                  LOCAL_SHARED_liBRARIES := cryptoLOCAL_CFLAGS += -O2LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfpLOCAL_LDliBS += -ldlinclude $(BUILD_SHARED_liBRARY)

我希望有很多评论.

此外,

首先,我尝试比较上述标志与没有标志之间的情况. (例如,我用APP_OPTIM编译我的程序:=在Application.mk中发布,然后我在没有它的情况下编译或者用APP_OPTIM:= deBUG再次编译.)但是,我看不到运行速度的任何变化.

其次,这是最重要的,我的程序比较两个模块的速度. (为方便起见,我称之为模块A,B)模块A是预构建的(在AndroID.mk中是libcrypto.so).我想在模块B中应用优化.首先,我比较了PC(Visual Studio 2010)中模块A和B的速度测试.当我在PC中尝试模块A和B时,模块B比A快.(当然,我预先编译了模块A,我通过调用库来使用它.)现在我将我的PC程序移植到它中对于AndroID.但在AndroID中,模块B比A慢得多.

因此,我的结论是,这没有得到优化.

综上所述,

>我比较了旗帜和没有它的速度.
>在PC中运行此程序时,预编译模块A的速度比
B,但在AndroID中,它完全相反.

你认为我的程序问题是什么?先感谢您.

解决方法 APP_OPTIM:=发布

将APP_OPTIM:= release行放入Application.mk文件中

ndk-build NDK_DEBUG = 0

只需将NDK_DEBUG = 0作为参数传递给ndk-build脚本.一旦定义APP_OPTIM:= release,就不需要它了.

-DNDEBUG

这应该进入你的LOCAL_CFLAGS:

LOCAL_CFLAGS += -DNDEBUG

LOCAL_CFLAGS = -O2

实际上并不需要这样做,因为AndroID NDK已经定义了-O2优化.

总结

以上是内存溢出为你收集整理的c – 如何使用android-ndk优化本机代码(速度优化)全部内容,希望文章能够帮你解决c – 如何使用android-ndk优化本机代码(速度优化)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存