0

私は標準ライブラリに特別な問題はありません。唯一の本当の問題は、C ++ライブラリがコードを一連のヘッダーとインターフェイスするために使用され、実際の実装は、アプリケーションがターゲットマシン上で何を見つけるかに大きく依存することです。ライブラリ。

だから私は、コンテナ、アルゴリズム、イテレータ、おそらくオープンソース、明確な実装を備えたライブラリを探していましたが、これまでのところ、これは2つしか見つかりませんでした。

  • ブーストライブラリ
  • QTライブラリ

しかし、これは実際のC ++標準ライブラリではありません。つまり、QTは主にGUIライブラリであり、コンテナやその他の優れたもの提供します。ブーストは非常に大きく、すべてのC++stdのようなコンポーネントはほんの一部です。このライブラリ、またこのライブラリは、ビルドシステムに非標準のツールチェーンがあり、独自のビルドソリューション(bjam)を使用しているため、新しいターゲットに移植するのは簡単ではありません。

結局、ブーストとQTの両方で、C++ライブラリを希望どおりに置き換えることができる簡単なソリューションや実行可能なソリューションが得られません。

これまでのところ、私が見つけた最高のプロジェクトは、ちょうど良かったApache C ++標準ライブラリですが、このプロジェクトは死んでいます。

誰かが標準ライブラリを置き換えるだけのライブラリを提案することができ、それはパーミッシブライセンスを備えたオープンソースですか?

4

2 に答える 2

3

実際の実装は、アプリケーションがターゲット マシン上でライブラリに関して何を見つけるかに大きく依存します。

実際の実装は基本的に、プログラムを実行しているマシンではなく、コンパイラに依存します。

異なるコンパイラには異なる実装が付属している可能性がありますが、これは、このような広範でよく考えられたライブラリを自家製のものに置き換える理由にはならないと思います. これが、これほど優れた代替ライブラリを見つける可能性が低い理由です。

于 2012-10-26T10:41:28.310 に答える
1

代替ライブラリに切り替えることで達成したいことを誰も理解していないようです。そのため、答えが得られません。

STL ライブラリは、トースターからスーパーコンピューターまで、あらゆるデバイスで広く利用できます。また、ターゲット プラットフォームで可能な限り最高のパフォーマンスを提供するように積極的に最適化されています。

さて、あなたのポイントのいくつかを明確にしましょう。

P1。「実際の実装は、私のアプリケーションがライブラリに関してターゲットマシンで何を見つけるかに大きく依存します」

間違っています。C++ 標準ライブラリは C 標準ライブラリの上に実装されており、どちらも派生コンパイラと共に提供されています。どちらもシステムコールを使用して、ファイルを開く、スレッドを作成するなどの低レベルの処理を実行できます。それだけで、標準で保証されている他の依存関係はありません。

于 2012-10-26T11:19:34.567 に答える