Emscripten을 사용하여 C lib를 자바 스크립트 코드로 컴파일했습니다. 그러나 내 Javascript 래퍼 함께 바인딩 할 때 문제가 발생했습니다.어떻게 자바 스크립트에서 Emscripten 입력 배열에 액세스합니까?
나는 이것을 참조로 전달하기 위해 이것을 썼다. 나는 컴파일 된 lib를 통해 액세스 할 수 있었다.
var str_to_heapu8 = function (str) {
return allocate(intArrayFromString(str), 'i8', ALLOC_NORMAL);
}
그러나 정상적인 자바 스크립트 문자열로 다시 가져 오는 데 문제가 있습니다 ... 반환 값은 빈 문자열입니다.
var heapu8_to_str = function (ptr, len){
var array = new Uint8Array(len);
var i = 0;
while((ptr+i) < len){
array[i] = getValue(ptr+i, 'i8');
i++;
}
return intArrayToString(array);
}
어떻게 자바 스크립트 문자열로 다시 변환 할 수 있습니다 전자
I8는 한 바이트에 해당 8 비트 (바이트가 아님)이다. 따라서 귀하의 증분은 8입니다. – Dreamer