我想知道他們的表現/穩定性是否彼此不同,以及他們的許可證簡稱。我們歡迎真實世界的經驗。android ndk開發中gnustl和stlport有什麼區別?
回答
截至昨天(NDK r9d),gnustl仍然更全面,例如,支持< thread>,< future>和其他一些C++ 11功能。即使這些依賴於工具鏈:您不能使用默認的ARM gcc 4.6來啓用它們。
OTOH,stlport許可證與AOSP的其餘部分一樣是免費的,而gnustl的GPL v3的鏈接例外不容易理解。有關較舊的討論,請參閱https://groups.google.com/d/topic/android-ndk/OWl_orR0DRQ。
如果您看看NDK發行說明,您會發現,根據固定的錯誤,這兩個STL實現差不多都是平等的。
我很高興看到性能基準測試,但是我個人從未遇到過STL實現差異解決了真正瓶頸的情況。
GNU STL按照GPLv3許可證分發,這是許多人不能接受的。 NDK還提供了STLport,並且可以使用它,但是它更復雜一些,因爲獨立的工具鏈不包含它。
默認情況下,NDK工具鏈將鏈接您的C++共享庫與靜態版本的GNU STL庫。但是,如果您使用多個共享庫,則不能接受STL的靜態版本,因爲每個共享庫都將擁有自己的STL副本。這將導致在STL定義的全局變量的多個副本,並可能導致內存泄漏或損壞
IMPORTANT:使用NDK工具鏈直接有嚴重的侷限性: 您將無法使用任何C++ STL(無論是STLport或 GNU libstdC++)。也沒有例外,也沒有RTTI。
NDK r9d,docs/STANDALONE_TOOLCHAIN.html:您可以指定--stl = stlport來複制libstlport而不是libgnustl。請注意, 要與共享庫鏈接,在這種情況下,您必須明確使用-lstlport_shared
,就像您需要使用-lgnustl_shared
來處理GNU libstdC++的情況一樣。 –
2014-07-18 17:56:02
另外,gnu-stl指定了一個GPL v3的擴展,只要庫代碼沒有改變,它允許實踐中的閉代碼應用程序將其用作共享甚至靜態鏈接。 – 2014-07-18 18:02:26
- 1. android和原生android(Android NDK)有什麼區別?
- 2. Android NDK無法找到stlport
- 3. ndk-build和android應用程序有什麼區別?
- 4. 在開源開發中,補丁和git commit有什麼區別?
- 5. Android中Adapter和AdapterView有什麼區別?
- 6. Android開發中Bundle和JSONObject的區別是什麼?
- 7. android:和android之間有什麼區別:
- 8. 有什麼區別`和$(Bash中有什麼區別?
- 9. 在Sinatra中,生產和開發環境有什麼區別?
- 10. STLPort和SGI STL之間的區別
- 11. android intents有什麼區別?
- 12. Android開發中的平臺工具和SDK工具有什麼區別?
- 13. Android應用程序開發中的Mysql和SQLite數據庫有什麼區別?
- 14. 燕尾和併發有什麼區別?
- 15. 發佈和迭代有什麼區別?
- 16. Android NDK開發
- 17. Android。 ShapeDrawable和GradientDrawable有什麼區別?
- 18. Android ICS和Jelly Bean有什麼區別?
- 19. Android | setOnClickListener和setOnTouchListener有什麼區別?
- 20. android:layout_width和android有什麼區別:width
- 21. ADT和Android SDK有什麼區別?
- 22. android:gravity和android有什麼區別:layout_gravity
- 23. Android:'orientation'和'screenLayout'有什麼區別?
- 24. Android SearchView:setOnFocusChangeListener()和setOnQueryTextFocusChangeListener有什麼區別?
- 25. android的abc.db和abc.sqlite有什麼區別?
- 26. ANR和Android崩潰有什麼區別?
- 27. roboto-android和roboto-unhinted有什麼區別?
- 28. aosp和android pdk有什麼區別?
- 29. Android JPEG和libjpeg有什麼區別?
- 30. 遊戲開發與業務開發有什麼區別?
請您詳細描述不同之處。 – CoDe 2015-09-22 11:29:43