1

stlport を使って wince ベースのカスタム OS を開発していますが、今後は Windows が提供する stl を使用することを考えています。機能的には互いに違いがないことを読んだので、現在重要なのは私の画像のサイズです。残念ながら、最初に stl を使用してランタイム イメージを作成し、次に stlport を使用して両方のイメージのサイズを比較するように両方を試すことはできません。 OS。したがって、私は専門家のアイデアを得たかったのです:

どっちが軽いと思いますか?stlport のアタッチ方法、ロード方法などは知っていますが、STL についてはよくわかりません。STL ヘッダーを調べたところ、何千ものインライン関数しか見つかりませんでした。しかし、それだけですか?私はそれについて確信する必要があります。STL は内部に他のライブラリをリンクしますか?それとも単にヘッダーをインクルードしてそれらのインライン関数を使用しますか?

一番

Ps: 私は VS2012 を使用しており、wec2013 に取り組んでいます

Ps2: STL と stlport の略語と、それらを使用してアプリケーションを構築する方法を知っています。私の実際の質問は、どれがより少ないメモリを消費し、HDD でより小さいサイズを使用するかということです。(stlportはlibですが、stlはそうではないなどのことを考慮してください。)

4

2 に答える 2

5

STL とは、コンパイラの標準ライブラリを意味すると思います。STL は言語に提案され、受け入れられたライブラリの元の名前であったため、これはよくある誤解ですが、そこから発展しました。これを考慮すると、質問は次のようになります。

コンパイラで提供されている標準ライブラリを使用する必要がありますか、それとも stlport [または他の代替手段] を使用する必要がありますか?

答えは、ユースケースに依存するということですが、良いことは、ライブラリを標準で定義されているとおりに (つまり、拡張機能なしで) 使用している限り、いずれかでビルドすることから簡単に切り替えることができるはずです。 、これは自分でテストできることを意味します。さまざまなコンパイラ フラグを使用してビルドをテストすることもできます。これは VS では特に重要です。ライブラリはデフォルトでチェック済み反復子を使用するため、デバッグには適していますが、追加のメモリと処理が必要になります。

于 2013-11-26T21:04:39.327 に答える
3

STLPort何らかの理由で STL を提供しないプラットフォーム (たとえば、C++ 例外サポートのない組み込みプラットフォーム) で使用するように設計されているか、ネイティブ STL サポートが古くなっています。

したがって、通常はネイティブ STL を置き換える必要はありません。プロジェクトで STLPort を使用する強い理由があるはずです。私の経験では、いくつかの組み込み DSP プラットフォーム (ネイティブ STL なし) と UEFI プラットフォーム (実際には組み込まれていませんが、ネイティブ STL もありません。また、ランタイムは C++ 例外をサポートしていません) に使用しました。

STLPort高度なカスタマイズが可能で (例外、ストリームなどを無効にできます)、基本的な C++ をサポートするほぼすべてのプラットフォームで使用できます。

于 2013-11-26T21:20:19.063 に答える