問題タブ [boost-iostreams]
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++ - ブーストIOストリームとZLibのスピードアップ
BoostIOStreamsとフィルタリングストリームバッファを使用してZlibで圧縮したデータの大きなファイルがあります。
速度を上げるために、次のようにzlibライブラリを初期化しています。
私のデコンプレッサは次のようになります。
私の質問は、膨張(解凍)操作を高速化する方法はありますか?現在、圧縮はデータアクセス時間の約83%を占めており、これをもっと速くする必要があります。任意の提案をいただければ幸いです。
c++ - 動的に割り当てられたメモリ位置にデータを解凍する方法
基本的に、データポインターが指す動的に割り当てられたメモリにソースを解凍しようとしています。次のコードがあります。動作していることがわかりますcopy()
が、データが指すメモリはすべて0s
です。誰かが理由を知っていますか?
ここで、データは void ポインターでなければならず、別のインジケーターに基づいてデータ サイズが変化するため、新しい演算子を使用する必要があることに注意してください。
編集:私はここで答えを見つけました:標準ストリーム(pubsetbuf)で使用される内部バッファの設定
c++ - Eclipse CDT の誤ったエラー: boost::iostreams
Eclipse CDT (Juno SR1) に次のコードがあります。
g++ 4.7.2
コードに問題はありません。in.push()
しかし、Eclipse はこの 2行について不平を言っています。どちらの場合も、エラー メッセージは同じです。
これを修正または回避して、CDT の不平を言わないようにするにはどうすればよいですか?
c++ - ブースト iostream filtering_ostream では、sync()、strict_sync()、flush() の違いは何ですか?
単純なカウント フィルターを考えてみます。
そしてそれを次のように使用します:
sync()、strict_sync()、または flush() の呼び出しの違いは何ですか? count_cout.sync(); // この呼び出しとの違いはcounted_cout.strict_sync(); // この呼び出しへ count_cout.flush(); // この呼び出しに?
ブースト1.50.0を使用しています
c++ - boost :: iostreams::copyのコンパイルエラー
私はいくつかの例でboost::iostreamsを学ぼうとしています。gccで受け入れられないものの1つを次に示します。
エラーは次のとおりです。
c++ - boost::iostreams::mapped_file ファイル パスの問題
ブーストのmapped_file iostreamsライブラリを使用して問題に遭遇しました。
ブーストのドキュメント:mapped_file
私が読むことができるすべてのドキュメントと例を読んだ後でも、次のコードを動作させることができません。new_file_size と maps_file_params クラスへのパスを渡すと、mapped_file_params オブジェクトをパラメーターに指定して、mapped_file のコンストラクターを呼び出すと、目的の場所にファイルが開かれる (そして作成される) と仮定します。しかし、それが行う唯一のことは、私が指示した場所ではなく、プロジェクトの作業ディレクトリに「%F8/134」のような奇妙な名前のファイルを作成することです。たぶん私は間違っているので、mapped_file に指定する前にファイルを作成する必要がありますか? ドキュメントを読んだ後、 new_file_size パラメータを入力すると新しいファイルが作成されると想定していました。ファイル名を指定します。
誰もこれを以前に経験しましたか?これを解決する方法についてアドバイスはありますか?
コードは次のとおりです。
御時間ありがとうございます、
アレクサンドル
c++ - boost::iostreams を使用するとクラッシュする
boost::iostreams(1.53.0) を使用して HTTP リクエスト本文を解凍し、後で処理しようとしています。しかし、次のコードを実行するとクラッシュします。
クラッシュは で発生しgzip_decompressor()
、具体的にgzip_header() { reset(); }
はブーストの gzip.hpp で発生します (コール スタックを参照)。
boost::iostreams ライブラリを自分でコンパイルし、macports からのブーストも使用しようとしましたが、同じクラッシュが発生します。gzstream ライブラリも使用してみましたが、コンストラクター、より具体的には のコンストラクターでもクラッシュしigzstream
ます。
これは zlib 関連の問題だと思いがちです。具体的には言いませんが、Mountain Lion と xCode 4.6 を搭載した MacBook Pro を使用して、コードをビルドして実行しています。
以前にそのような問題に遭遇した人はいますか?
xml - デストラクタが呼び出されると、boost xml_iarchive がクラッシュする
関数の開始時に 0 が返されたときに、このコードがクラッシュする理由を突き止めようとして少し苦労しています。
start 関数から戻ると、xml_iarchive のデストラクタが呼び出され、そこで失敗していると思われます。
xml_iarchive がそのデストラクタを呼び出す前に、クリーンアップを行うためにフラッシュまたは何らかの関数を呼び出す必要がありますか?
何も思いつきません、 :)
c++ - stringstream::str() が文字列を切り捨てるのはなぜですか?
stringstream オブジェクトがあります。それは満たされています
から
実際には解凍されたファイルを保持しています。
今、stringstreamのコンテンツをファイルにフラッシュすると
全て大丈夫。ファイルは完全に正しいデータで満たされています。
しかし、このようなファイル構成文字列にフラッシュする代わりに、
コンテンツは途中で切り捨てられます。これは永続的なエラーではなく、明らかに文字列バッファーの内容に依存します。
コンテンツは複数言語の HTML ファイルです。
それは何でしょうか?ありがとう。