gpt4 book ai didi

android - Android NDK 中静态库和共享库的区别?

转载 作者:IT老高 更新时间:2023-10-28 21:34:42 29 4
gpt4 key购买 nike

我是 Android NDK 的新手,我不了解静态库和共享库之间的区别。它们是什么,我什么时候会选择一种而不是另一种?

最佳答案

共享库一词并不完全适合 Android 的 NDK,因为在许多情况下,.so 库实际上并没有在应用程序之间共享。最好将 NDK 构建的库分为静态库和动态库。

每个 Android 应用程序都是 Java 应用程序,NDK 代码的唯一入口点是将其作为动态库加载并通过 JNI 调用。

静态库是已编译目标文件的存档。它们在构建时被 bundle 在其他库中。 NDK 会剥离静态库中未使用的代码部分以减小总大小。

动态库在运行时从单独的文件加载。它们可以包含它们所依赖的静态库或加载更多动态库。

因此,Android 开发真正需要的是至少一个共享库,该库将从 Java 代码中调用,并最好将其作为静态库链接到它的依赖项。

关于android - Android NDK 中静态库和共享库的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3213789/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com