2

Alchemy で処理 (読み書き) したい AS3 に既存の ByteArray があります。これを行う方法について私が見たすべての例には、ストリーム関数 (fread、fwrite など) を使用するか、ByteArray データを使用する前に最初に別のバッファーにコピーすることが含まれます。

仲介なしで、C/alchemy で ByteArray のメモリに直接アクセスする方法はありますか?

私の推測では、ストリーム関数を使用することは、メモリに直接書き込むほど効率的ではないということです。

編集:私の友人は良い点を挙げています。ByteArray データが必ずしもメモリ内で物理的に連続しているとは限らない可能性はありますか? その場合、Adobe 独自のメモリ形式と争うのは悪夢のようです。どちらかわかる方いますか?

4

2 に答える 2

1

ByteArray は Alchemy の RAM の一部ではありません。そのため、アクセスする唯一の方法は AS3 関数を介することです。ただし、ByteArray データを Alchemy の RAM (それ自体が ByteArray) にコピーすることはできます。次に、ポインターを介してコピーされたデータにアクセスできます。

それを行う方法に関するいくつかのテクニックについては、このSO の質問を参照してください。

于 2011-03-23T17:29:10.167 に答える
0

AS3_ByteArray_seek、AS3_ByteArray_readBytes、および AS3_ByteArray_writeBytes C Alchemy API 関数を使用できます。

于 2011-03-11T08:39:01.310 に答える