問題タブ [stlport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++11 をサポートするオープン ソース STL 実装
要するに、STLPort に代わるものを探しています。STLPort はしばらくの間 (2008 年以降?) 更新されておらず、C++11 のサポートが不足しています。誰かが代替案を知っていますか? さまざまなアーキテクチャとさまざまなターゲット OS 用に、さまざまなツールチェーンを使用してコンパイルする必要があります。
GNU C++ 実装の調査を開始し、それが代替手段として GCC ツールチェーンにどのように結び付けられているかを確認し、結果を投稿します。しかし、誰かがここで事前の知識を持っていれば、それは素晴らしいことです.
これに代わるものは、新しいスマート ポインター型や std::threads など、さまざまな主要な C++11 STL 機能の実装です。最悪の場合、ブーストからスマート ポインターを抽出できる可能性があります。pthreads や Windows スレッドなどの std::threads の実装はありますか?
ありがとう
c++ - STL vs Stlport: どちらが軽量か
stlport を使って wince ベースのカスタム OS を開発していますが、今後は Windows が提供する stl を使用することを考えています。機能的には互いに違いがないことを読んだので、現在重要なのは私の画像のサイズです。残念ながら、最初に stl を使用してランタイム イメージを作成し、次に stlport を使用して両方のイメージのサイズを比較するように両方を試すことはできません。 OS。したがって、私は専門家のアイデアを得たかったのです:
どっちが軽いと思いますか?stlport のアタッチ方法、ロード方法などは知っていますが、STL についてはよくわかりません。STL ヘッダーを調べたところ、何千ものインライン関数しか見つかりませんでした。しかし、それだけですか?私はそれについて確信する必要があります。STL は内部に他のライブラリをリンクしますか?それとも単にヘッダーをインクルードしてそれらのインライン関数を使用しますか?
一番
Ps: 私は VS2012 を使用しており、wec2013 に取り組んでいます
Ps2: STL と stlport の略語と、それらを使用してアプリケーションを構築する方法を知っています。私の実際の質問は、どれがより少ないメモリを消費し、HDD でより小さいサイズを使用するかということです。(stlportはlibですが、stlはそうではないなどのことを考慮してください。)
android - STLport と Android NDK - 静的としてロードされた STLport、Linux/gcc ld は「複数の定義」を報告します
Android NDK と STLport に関する多くの資料を調べました。STLport(C++標準ライブラリポート)をロードする複雑なアプリ、Java +ネイティブコードがあります。元のコードベースには、プロジェクトの「jni」サブディレクトリの Application.mk に「APP_STL := stlport_static」がありました。ld に lib static をロードさせます。これにより、現在の SDK/NDK で多くのコンパイル エラーが発生しました。
提案に従って、動的ライブラリとしてロードしようとしました。(「../jni/Application.mk」で、「APP_STL := stlport_shared」を設定します)これにより、クリーンなコンパイルとロードが行われ、checkJNI を無効にすると、Android armeabi-v7a エミュレーターでアプリが問題なく実行されます。「dalvik」仮想マシン上。
しかし、checkJNI を有効にすると、libapplication.so で「unsatisfiedLinkError」が発生します。これは、STLport が動的にロードされたことが原因のようです。そのため、STLport を静的モードでロードしたいと考えています (logcat は、他のいくつかのライブラリが正常にロードされた後にこれを報告します)。ビルド中、コンパイルは問題ありませんが、2 つの複数定義エラーが発生します。具体的には、「「vtable for std::bad_exception」と「std::exception::~exception()」の複数定義」です。(「gnustl_static」も使用してみました)。
私はgccバージョン4.3.0を使用しており、バージョン3.81、コマンドラインモード、およびAndroid ndk-r9c用のbuild-ndkの小さなラッパーを作成し、ビルドターゲットバージョンはandroid-8、「ant」で.apkファイルをビルドしています、 等々。
私よりも Android に詳しい人 (私は完全な初心者です) は、これを以前に見たことがあるかもしれません。もしそうなら、アドバイスしてください。ありがとう。- ラス
c++ - STLport c_str() 不正な戻り値
stlport STL の実装で問題が発生しました。プラットフォームはおそらくここでは関係ありませんが、私は Android に使用します。特定のファイルを開こうとするサードパーティの共有ライブラリを使用しています。そのファイル パスは関数 asstd::string
に渡され、ライブラリ インライン関数になります。
次に、その C 文字列がopen()
関数の引数として使用されます。問題は、stlportを使用すると、ReadProtoFromTextFile
関数が無効な C 文字列を受け取るため、ファイルを開くことができないことです。その無効な C 文字列は決定論的であり、常に次の文字列です。
p!&\xffffffe8.
コードから c_str() を呼び出そうとすると、常に有効です。LLDB で問題のある文字列を調べようとしたところ、次のエラーが発生しました: エラー: ターゲットで実行する式を準備できませんでした
それでも、その文字列の内部構造を確認することは可能であり、問題のある文字列シーケンスがフィールドに存在し_M_buffers._M_end_of_storage
ます。正しい順序も にあり_M_buffers._M_start_of_storage
ます。
gnustlの実装に切り替えたところ、問題はなくなりました。そして、LLDB は問題なく .c_str() を示しました。私にとっては、インライン化の問題のように見えますが、何が原因でしょうか? 結局のところ、 stlport_sharedは Google が推奨する実装です。
android - stlport_static を使用して gnustl を Android ndk プロジェクトにリンクする
私の Android.mk と Application.mk では、 を使用してビルドされた静的ライブラリを使用していますstlpot_static
が、プロジェクトで c++11 のサポートが必要なため、 stlport の代わりに gnustl を使用してプロジェクトをビルドしたいと考えています。以前はAPP_STL := stlport_shared
Application.mk を使用していましたが、プロジェクトは正常に実行されていました。しかし、今私はそれを作りたいと思っていAPP_STL := gnustl_shared
ます.プロジェクトは正常にコンパイルされますが、実行時にクラッシュしてエラーが発生java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZNSt13_Filebuf_base12_M_page_sizeE"
します.
stlport_static に依存している静的ライブラリを妨害することなく、プロジェクトで gnustl を使用するにはどうすればよいですか。