我在AS3中有一个现有的ByteArray,我想在Alchemy中处理(读写)。我见过的关于如何执行此操作的所有示例都涉及使用流函数(fread,fwrite等),或者在使用之前将ByteArray数据首先复制到另一个缓冲区中。
有没有办法在C / alchemy中直接访问ByteArray的内存,没有任何中介?
我的假设是使用流函数不如直接写入内存那么高效。
编辑:我的朋友提出了一个很好的观点。 ByteArray数据是否有可能在内存中不一定是物理上连续的?在这种情况下,与Adobe的专有内存格式争吵是一场噩梦。任何人都知道吗?
答案 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函数。