2

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

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

我的假设是使用流函数不会像直接写入内存那样有效。

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

4

2 回答 2

1

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

有关如何做到这一点的一些技术,请参阅这个SO question 。

于 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 回答