【问题标题】:V8 library sizeV8 库大小
【发布时间】:2017-05-12 10:10:20
【问题描述】:

我们正在开发 V8 版本 5.3.332,我们选择将其编译为静态库。我们使用以下配置编译了库。

MAKE_TARGET="android_$BUILD_LIB_VERSION.$BUILD_MODE" make $MAKE_TARGET -j1 snapshot=off debuggersupport=off GYPFLAGS="-Dandroid_ndk_root=$NDK_DIR -Dv8_use_snapshot='false' -Dv8_enable_i18n_support=0" ANDROID_NDK_ROOT=$NDK_DIR

通过上述配置,发布版本的 libv8_base.a 大小约为 35MB。所以我的问题是,在关闭 i18n 和快照支持的情况下,V8 的大小是否预计为 35MB? 是否有任何其他标志可以帮助我们进一步减小 v8 的大小?

另一个观察结果是,即使我们通过 debuggersupport=off ,我们仍然能够构建和调试我的 JS 应用程序。所以我们在这里的期望是,调试 API 将从库中剥离,并且不再提供运行时 JS 调试支持。 如果我们没有正确传递构建配置,请更正

【问题讨论】:

  • 您是否混淆了存档的概念以及实际链接到可执行文件的内容?链接器不只是将 .a 文件推送到您的二进制文件中。它挑选并选择它需要的内容,然后仅将其插入到您的最终二进制文件中。

标签: v8 embedded-v8 libv8


【解决方案1】:

最终链接的二进制文件有多大?你给他们打电话strip了吗?相比之下,我为 Android/arm32 静态链接的 d8 shell 构建约为 9MB(对于当前的 V8 版本)。

【讨论】:

    猜你喜欢
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 2019-08-11
    • 2021-08-13
    • 2022-09-25
    • 1970-01-01
    相关资源
    最近更新 更多