찾다

 >  Q&A  >  본문

JS 기능을 WASM에 전달

저는 WebAssembly에 관한 훌륭한 책을 읽고 있으며 "글루 코드"를 사용하지 않고 JS 기능을 가져오는 방법을 배우려고 합니다 wasm.

2개의 extern 함수가 선언된 C 파일입니다

으아아아

그런 다음 다음 지침을 사용하여 c 코드를 c 代码编译为 wasm로 컴파일했습니다.

으아아아

그런 다음 instantiate wasm文件,定义jsFillRect()jsClearRect()并使用导入对象将它们导入到模块的env.JS 스크립트를 작성하라는 지시를 받았습니다.

으아아아

오류가 발생했습니다:

으아아아

여기에 표시된 가져온 개체는 이미 원래 개체(여기에서 찾을 수 있음)의 수정된 버전입니다. 이 예에서 함수는 JS에서 _jsClearRect(),但模块找不到 jsClearRect() 的定义。然后它找不到 __memory_base 的定义,因为它被声明为 memoryBase 但现在我不知道 Object 的国王代表 GOT.mem​​ 로 선언됩니다.

둘러보니 오래된 API를 사용하고 있는 것 같은 느낌이 들었지만 이를 달성하는 데 적합한 솔루션을 찾을 수 없습니다.

제 질문은:

Javascript 기능을 wasm 모듈로 가져오는 방법은 무엇입니까?

P粉081360775P粉081360775243일 전338

모든 응답(1)나는 대답할 것이다

  • P粉276876663

    P粉2768766632024-03-30 09:04:48

    GOT.mem​​ 来自 emscripten 使用的动态链接 ABI。在这种情况下,我认为您不需要动态链接内容,您可以/应该删除 -sSIDE_MODULE.

    이렇게 하면 제공해야 하는 가져오기가 단순화/줄어들게 됩니다. (예를 들어 tablememory를 제공할 필요가 없습니다.)

    회신하다
    0
  • 취소회신하다