gpt4 book ai didi

android - 如果 Android NDK 应用程序加载多个共享的 C++ STL 实现,会有什么行为?

转载 作者:太空宇宙 更新时间:2023-11-03 11:06:40 25 4
gpt4 key购买 nike

我们有一个包含多个本地库的 Android 应用程序。目前,它们中的大多数使用 STLport_shared,但我们有兴趣升级到 c++_shared(LLVM libc++ 运行时)。如果我们要升级其中的一些,而不是其他的,我们将不得不加载 STLport 和 llvm。

我认为加载 STL 的两个实现可能会导致问题,但实际上该应用程序似乎可以正常运行。这是未定义的行为,还是允许加载多个 STL 实现?

我已阅读 https://developer.android.com/ndk/guides/cpp-support.html以及 NDK 提供的一些文档,但似乎无法找到明确的答案。感谢您的帮助!

最佳答案

最好尽可能避免这种情况。

如果一个 STL 类型(例如 std::string)同时被 stlport_shared 访问二进制和一个 c++_static二进制,作为 std::string 的两个实现不兼容,这将不起作用。

您也容易受到 https://stackoverflow.com/a/25856207/632035 描述的问题的影响

关于android - 如果 Android NDK 应用程序加载多个共享的 C++ STL 实现,会有什么行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149784/

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