0

短縮版:

supplyFile() という錬金術メソッドがあるように見えますが、2 番目の引数は ByteArray です...一体何のためにあるのでしょうか?!?!

より長いバージョン:

私は次のことをしたいと思います:

  1. ファイルを開き、alchemy の C 側でグローバル変数に割り当てます。

  2. C 側でバイトのチャンクを読み込む (および処理する)

  3. それらを Actionscript に送信して表示する

  4. EOF または Actionscript からの通知までステップ 2 に進みます

  5. ファイルを閉じる

ファイルを開き、Actionscript 側でチャンクを ByteArray に読み込み、それを C に渡して処理し、元に戻すことで、今すぐこれを行うことができますが、AS3_ByteArray_writeBytes()/AS3_ByteArray_readBytes を実行する必要があるため、不要なオーバーヘッドが発生します。 () を C 側で使用して、char * 内のデータを操作します。

C側で単純にファイルをfopen()して、いくつかのバイトを読み取る方法はありますか?

ディスク上の非常に大きなファイル (>4GB) について話していると仮定します。

4

1 に答える 1

1

ドキュメントから:

supplyFile(path:String, data:ByteArray):このメソッドを使用すると、C コードの指定されたパスにファイルを提供できます。これは、C コードが、セキュリティ上の制限によりランタイムがアクセスできない特定の場所に構成ファイルを想定している場合に役立ちます。

つまり、supplyFileC から でアクセスできる「仮想ファイル」を作成できますfopen

supplyFile仮想ファイルへのパスを表す文字列 (これは任意のパスにすることができます) と、その仮想ファイルの内容である ByteArray を使用して呼び出します。次に、C 側fopenで仮想ファイル パスを使用して呼び出しfread、通常のファイルと同じように使用します。

于 2012-07-10T15:09:28.797 に答える