【问题标题】:Simple neon optimization in AndroidAndroid中的简单霓虹灯优化
【发布时间】:2014-07-30 16:54:10
【问题描述】:

在我的 Android 应用程序中,我使用了一堆开源库,例如 libyuv、libvpx、libcrypto、libssl 等。其中一些随 Android.mk 一起提供。对于其他人,我手工制作了 Android.mk。

代码目前仅为 arm 构建。这是我的 Application.mk:

APP_ABI := armeabi-v7a
APP_OPTIM := release
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti

我正在寻找生成针对霓虹灯优化的二进制文件的方法。浏览网络,我发现有人在他的Android.mk中使用了以下设置:

LOCAL_CFLAGS += -mfloat-abi=softfp -mfpu=neon -march=armv7

我想知道如果我只是将这个设置放在 Application.mk 中,它会自动应用于所有库吗?

构建每个库之前的步骤如下:

include $(CLEAR_VARS)

在此行之后包含 LOCAL_CFLAGS 指令是否更好(而不是将其包含在 Application.mk 中)?

最后,为什么 ndk-build 在 Application.mk 中看到 armabi 时不自动优化 neon?问候。

【问题讨论】:

    标签: android android-ndk


    【解决方案1】:

    它不会自动针对霓虹灯进行优化,因为并非所有 ARM 设备都有霓虹灯。

    只有在从源代码构建时才会应用添加这些 cflags。如果你有一个 .so,你只是在它上面移动,根本不会改变那个文件。

    【讨论】:

    • 同意,毕竟需要用 neon 重写你的代码。
    • 显然,我正在构建所有来源:-)。不知道需要用霓虹灯编写代码是什么意思。无法想象一个人会为我提到的所有开源库重写源代码。
    • 他的意思是编译器需要重写 .so 使用霓虹灯操作码(非霓虹灯处理器无法理解)。
    猜你喜欢
    • 1970-01-01
    • 2012-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多