Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
Tags
- AutoEncoder
- 웹어셈블리 인 액션
- stackoverflow
- NSCameraUsageDescription
- OpenCV로 배우는 영상처리 및 응용
- VAE
- xcode
- homebrew
- OpenCV
- mac os
- VisualCapture
- 예제 실행 시 에러 관련_
- pkg-config
- OpenCV-4.1.0
- Info.plist
- WebAssembly in Action
- Camera Usage Description
- 영상처리
- Today
- 0
- Total
- 4,460
DEV.log
Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #1 module="env" function="__table_base" error: global import must be a number, valid Wasm reference, or WebAssembly.Global object 본문
WebAssembly/웹어셈블리 인 액션
Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #1 module="env" function="__table_base" error: global import must be a number, valid Wasm reference, or WebAssembly.Global object
magnae2016 2022. 1. 30. 11:57Where did the problem occur?
- 도서명
웹어셈블리 인 액션 - 구분
주요 기술 오류(로직/코드) - 상품 버전
종이책 - 페이지
72~73 페이지 - 위치정보
3.6 엠스크립튼으로 웹어셈블리 파일만 생성하기
3.6.1 엠스크립튼으로 C/C++ 코드를 사이드 모듈로 컴파일 - 본문 내용
이 때 최적화 플래그 -O1를 지정해야 합니다. 모듈은 여러 함수와 전역 변수를 필요로 하는데 코드에는 이런 것들이 하나도 없기 때문입니다. 따라서 -O0 이외의 최적화 플래그를 추가해야 문제가 해결되며, 바로 다음 단계의 최적화인 -O1 플래그가 적당합니다.
emcc side_module.c -s SIDE_MODULE=2 -O1 -s EXPORTED_FUNCTIONS=['_Increment'] -o side_module.wasm
Problem
emcc 명령에서 최적화 플래그로 -O1을 지정하여 웹어셈블리 모듈로 컴파일 하면 side_module.wasm 라는 파일이 생성됩니다. 자바스크립트에서 side_module.wasm 파일을 WebAssembly.instantiateStreaming 함수를 이용해 로드하고 웹 페이지에 접속해보면 개발자 도구 콘솔창에서 오류를 확인할 수 있습니다.
Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #1 module="env" function="__table_base" error: global import must be a number, valid Wasm reference, or WebAssembly.Global object
Answers
최적화 플래그 -O2를 지정하면 됩니다.
emcc side_module.c -s SIDE_MODULE=2 -O2 -s EXPORTED_FUNCTIONS=['_Increment'] -o side_module.wasm
Environment
- macOS
- emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.2
- python-3.9.2
- node-14.18.2
참고 자료
https://velog.io/@errorcode4319/WASM-001.-처음해보는-웹어셈블리
http://www.yes24.com/Product/Goods/92907281
웹어셈블리 인 액션 - YES24
웹 개발의 새로운 지평을 열게 될 잠재력 높은 기술!웹어셈블리를 처음 접하는 분을 위한 안내서로, 자바스크립트에 의존하지 않고도 브라우저 기반의 고성능 애플리케이션을 만들 수 있는 방
www.yes24.com
'WebAssembly > 웹어셈블리 인 액션' 카테고리의 다른 글
0 Comments