Прямой доступ к памяти AS3 ByteArray в Алхимии, без AS3_ByteArray_readBytes?

У меня есть существующий ByteArray в AS3, который я хочу обработать (читать и писать) в алхимии. Все примеры, которые я видел, как это сделать, включают либо использование потоковых функций (fread, fwrite и т. Д.), Либо копирование данных ByteArray сначала в другой буфер перед его использованием.

Есть ли способ прямого доступа к памяти ByteArray в C/alchemy без какого-либо посредника?

Я предполагаю, что использование потоковых функций не будет столь же эффективным, как прямая запись в память.

Изменить: мой друг поднимает хорошую мысль. Возможно ли, что данные ByteArray не обязательно физически соприкасаются в памяти? В этом случае это будет своего рода кошмарный спор с проприетарным форматом памяти Adobe. Кто-нибудь знает в любом случае?

2 ответа

ByteArray не является частью ОЗУ Алхимии. Таким образом, единственный способ получить к нему доступ через функции AS3. Однако вы можете скопировать данные ByteArray в оперативную память Alchemy (которая сама является ByteArray). Затем вы можете получить доступ к скопированным данным через указатель.

Посмотрите этот ТАК вопрос для некоторых методов о том, как это сделать.

Вы можете использовать функции API Alchemy C AS3_ByteArray_seek, AS3_ByteArray_readBytes и AS3_ByteArray_writeBytes C.

Другие вопросы по тегам