在Alchemy中直接访问AS3 ByteArray内存,没有AS3_ByteArray_readBytes?

时间:2011-03-10 22:24:23

标签: c actionscript-3 bytearray alchemy

我在AS3中有一个现有的ByteArray,我想在Alchemy中处理(读写)。我见过的关于如何执行此操作的所有示例都涉及使用流函数(fread,fwrite等),或者在使用之前将ByteArray数据首先复制到另一个缓冲区中。

有没有办法在C / alchemy中直接访问ByteArray的内存,没有任何中介?

我的假设是使用流函数不如直接写入内存那么高效。

编辑:我的朋友提出了一个很好的观点。 ByteArray数据是否有可能在内存中不一定是物理上连续的?在这种情况下,与Adobe的专有内存格式争吵是一场噩梦。任何人都知道吗?

2 个答案:

答案 0 :(得分:1)

ByteArray不是Alchemy RAM的一部分。所以访问它的唯一方法是通过AS3功能。但是,您可以将ByteArray数据复制到Alchemy的RAM(它本身就是ByteArray)。然后,您可以通过指针访问复制的数据。

有关如何操作的一些技巧,请参阅此SO question

答案 1 :(得分:0)

您可以使用AS3_ByteArray_seek,AS3_ByteArray_readBytes和AS3_ByteArray_writeBytes C Alchemy API函数。