問題タブ [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.
c++ - Magick ++ がブログから読み込まれない
Magick++ を使用していくつかの画像をロードしています。すべてのイメージ ロードで PhysFS をラップしたいので、ファイル パスではなく BLOB でイメージをロードする必要がありました。
このコード:
問題なく動作します。
ただし、ブロブを実行すると、例外が発生します。
スローされる例外は次のとおりです。
タイプ Magick::ErrorMissingDelegate のキャッチされない例外で終了します この画像形式のデコードデリゲートはありません `' @ error/blob.c/BlobToImage/350
ブロブがファイルと同じサイズであることを確認しました。だから私はそれをメモリに読み込んでいると確信しています。
標準ライブラリ ifstream を使用して std::ios::binary を設定しようとしましたが、問題は残ります。
c# - アンマネージ相互運用のための C# オブジェクトのポインター
私は現在PhysFS ライブラリのラッパーを書いていますが、管理対象オブジェクトのマーシャリングに関してちょっとした問題に出くわしました。たとえば、PHYSFS_enumerateFilesCallbackメソッドを取り上げます。このメソッドは、関数ポインターとユーザー定義のポインターを引数として取ります。管理対象オブジェクトをこのメソッドに渡すにはどうすればよいですか? これは私が現在行っていることです:
最後に、これは私がメソッドに任意のオブジェクトを渡すために行っていることです:
このコードを実行すると:
デリゲートは正当なデータで 4 回呼び出され、5 回目にガベージ データが含まれてから AccessViolationException がスローされます。これは、オブジェクトがデリゲートの呼び出しの間に GC されるためだと思われます。誰でもこれに光を当てることができますか?
更新: マウントされたディレクトリを変更するとゴミデータが削除されますが、例外は引き続きスローされ、すべてのデータが消費される前にまだ発生します。
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 int
signed long long
signed long long
signed long long
代わりに明示的に入力するPHYSFS_sint64
と、同じ警告が出力されます
私は今、愚かですか?理解できません
c++ - R6025 純粋仮想関数呼び出し (sf::InputStream から派生したクラス)
私のゲームでは、PhysFs を使用して、zip ファイル内の音楽ファイルを抽出したいと考えています。
のストリームとして使用するものMusicStream
を継承するカスタム クラスを作成しました。sf::InputStream
sf::Music
これは私の基本的なプログラムです:
これは、1 つのことを除いて、問題なく動作します。
ウィンドウを閉じてプログラムを終了すると、ランタイム エラーが発生R6025 pure virtual function call
し、プログラムがクラッシュします。
どうやら純粋仮想関数は (sf::InputStream
の dtor??) と呼ばれていますが、 のすべてsf::InputStream
の関数を実装しましたが、意味がありません。
また、コードが関連しているかどうかはよくわかりませんが、関連している場合、これはカスタム クラスです。
musicstream.h
musicstream.cpp
c++ - PhysFS_init() がゼロ以外のエラーを返す: 「エラーなし」
私のコードでかなり奇妙なクラッシュが発生しましたが、その原因がわかりません。C++ コードで PhysFS を使用しようとしています。以下のコードはクラスの一部であり、Visual Studio 2017 はクラッシュが に表示されPHYSFS_mount()
、続いて に表示されることを教えてくれEnterCriticalSection()
ます。私の理解では、これはミューテックスと関係があります。私の理解では、これは正しいはずです(メインコールがinitArchives()
最初にあることに注意してください)
クラッシュは明らかにここに表示されます
ここで何か間違っていますか?これはライブラリの問題ですか、それとも私の OS の問題ですか? 私が見逃した PhysFS のビルドステップに何かありましたか?
編集: PHYSFS_init() の戻り値を間違って読んだことに気付きましたが、PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode())
「エラーなし」を返すのでさらに混乱しています。ここで何が起こっているのでしょうか?