IT/web assembly 3

web assembly 메모리 사용기

1. ArrayBuffer(binary array)를 이용해 Javascript와 Web assembly간의 데이터를 간편하게 읽고, 쓸 수 있다. 이는 배열에 대한 포인터 값으로 접근하여 가능해진다. 1) ArrayBuffer let buffer = new ArrayBuffer(16); // 연속된 16 byte 메모리 공간을 생성함. let view = new Uint32Array(buffer);//typedArray로 32bit씩 나눔=>4개로 나눠짐 view.set([1, 2, 3], 0); // typedArray의 set method를 사용하여 여러 값들을 저장. 포인터로 접근 가능 wasm을 생성할 때 glue code(js)도 함께 생성하면 glue code 내에 아래와 같이 알아서 메모리..

IT/web assembly 2022.10.12

toolchain for cross-compiling to JS using Emscripten

파일구조 https://seyeon-hello.tistory.com/21?category=999053 [cmake] Makefile 만들기 cmake는 빌드 파일(Makefile)을 생성해주는 프로그램 입니다. CMakeLists.txt ---(cmake)---> Makefile ---(make)--->실행파일 //main.cpp #include #include "myhead.h" int main(void) { int result = sum(1,2).. seyeon-hello.tistory.com CMakeLists.txt wasm, js file 뿐만 아니라 html file도 얻으려면 set(CMAKE_EXECUTABLE_SUFFIX ".html")를 추가한다. cmake_minimum_require..

IT/web assembly 2022.07.04

web assembly

Web Assembly 웹에서 c/c++언어로 작성된 코드를 실행할 수 있도록 하는 저수준의 언어(어셈블리와 유사한 텍스트 형식) 웹어셈블리를 사용해서 네이티브에 가까운 속도를 낼 수 있습니다. 직접 웹 어셈블리어를 작성하는 것이 아닌, web assembly의 compiler toolchain인 emscripten를 사용해서 만들어줍니다. 아래 emscripten download 가이드 라인을 확인하세요 https://emscripten.org/docs/getting_started/downloads.html Download and install — Emscripten 3.1.6-git (dev) documentation Note If you want to use your system’s Node.js ..

IT/web assembly 2022.03.11