問題タブ [physfs]

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.

0 投票する
1 に答える
180 参照

c++ - Magick ++ がブログから読み込まれない

Magick++ を使用していくつかの画像をロードしています。すべてのイメージ ロードで PhysFS をラップしたいので、ファイル パスではなく BLOB でイメージをロードする必要がありました。

このコード:

問題なく動作します。

ただし、ブロブを実行すると、例外が発生します。

スローされる例外は次のとおりです。

タイプ Magick::ErrorMissingDelegate のキャッチされない例外で終了します この画像形式のデコードデリゲートはありません `' @ error/blob.c/BlobToImage/350

ブロブがファイルと同じサイズであることを確認しました。だから私はそれをメモリに読み込んでいると確信しています。

標準ライブラリ ifstream を使用して std::ios::binary を設定しようとしましたが、問題は残ります。

0 投票する
2 に答える
391 参照

c# - アンマネージ相互運用のための C# オブジェクトのポインター

私は現在PhysFS ライブラリのラッパーを書いていますが、管理対象オブジェクトのマーシャリングに関してちょっとした問題に出くわしました。たとえば、PHYSFS_enumerateFilesCallbackメソッドを取り上げます。このメソッドは、関数ポインターとユーザー定義のポインターを引数として取ります。管理対象オブジェクトをこのメソッドに渡すにはどうすればよいですか? これは私が現在行っていることです:

最後に、これは私がメソッドに任意のオブジェクトを渡すために行っていることです:

このコードを実行すると:

デリゲートは正当なデータで 4 回呼び出され、5 回目にガベージ データが含まれてから AccessViolationException がスローされます。これは、オブジェクトがデリゲートの呼び出しの間に GC されるためだと思われます。誰でもこれに光を当てることができますか?

更新: マウントされたディレクトリを変更するとゴミデータが削除されますが、例外は引き続きスローされ、すべてのデータが消費される前にまだ発生します。

0 投票する
2 に答える
178 参照

c++ - コンパイラが signed long long から unsigned int に変換しようとするのはなぜですか

この線

警告を生成します

warning C4244: 'initializing' : conversion from 'PHYSFS_sint64' to 'unsigned int', possible loss of data

PHYSFS_sint64のtypedefですsinged long long

PHYSFS_fileLengthを返しますPHYSFS_sint64

だから、コンパイラが aを aに代入しようとしたときにからsigned long longに変換しようとする理由がわかりません。unsigned intsigned long longsigned long long

signed long long代わりに明示的に入力するPHYSFS_sint64と、同じ警告が出力されます

私は今、愚かですか?理解できません

0 投票する
1 に答える
141 参照

c++ - R6025 純粋仮想関数呼び出し (sf::InputStream から派生したクラス)

私のゲームでは、PhysFs を使用して、zip ファイル内の音楽ファイルを抽出したいと考えています。

のストリームとして使用するものMusicStreamを継承するカスタム クラスを作成しました。sf::InputStreamsf::Music

これは私の基本的なプログラムです:

これは、1 つのことを除いて、問題なく動作します。

ウィンドウを閉じてプログラムを終了すると、ランタイム エラーが発生R6025 pure virtual function callし、プログラムがクラッシュします。

どうやら純粋仮想関数は (sf::InputStreamの dtor??) と呼ばれていますが、 のすべてsf::InputStreamの関数を実装しましたが、意味がありません。

また、コードが関連しているかどうかはよくわかりませんが、関連している場合、これはカスタム クラスです。

musicstream.h

musicstream.cpp

0 投票する
1 に答える
159 参照

c++ - PhysFS_init() がゼロ以外のエラーを返す: 「エラーなし」

私のコードでかなり奇妙なクラッシュが発生しましたが、その原因がわかりません。C++ コードで PhysFS を使用しようとしています。以下のコードはクラスの一部であり、Visual Studio 2017 はクラッシュが に表示されPHYSFS_mount()、続いて に表示されることを教えてくれEnterCriticalSection()ます。私の理解では、これはミューテックスと関係があります。私の理解では、これは正しいはずです(メインコールがinitArchives()最初にあることに注意してください)

クラッシュは明らかにここに表示されます

ここで何か間違っていますか?これはライブラリの問題ですか、それとも私の OS の問題ですか? 私が見逃した PhysFS のビルドステップに何かありましたか?

編集: PHYSFS_init() の戻り値を間違って読んだことに気付きましたが、PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode())「エラーなし」を返すのでさらに混乱しています。ここで何が起こっているのでしょうか?