--- title: Converting WebAssembly text format to wasm slug: WebAssembly/Text_format_to_wasm translation_of: WebAssembly/Text_format_to_wasm ---
WebAssembly에는 S- expression 기반의 텍스트 표현, 텍스트 편집기, 브라우저 개발자 도구 등에서 노출되도록 고안된 중간 양식이 있습니다.이 기사에서는 어떻게 작동하는지, 텍스트 형식 파일을 .wasm
어셈블리 형식으로 변환할 수 있는 도구를 사용하는 방법에 대해 설명합니다.
Note: 텍스트 형식 파일은 대개 .wat
확장자로 저장됩니다. 때로는 .wast
도 사용됩니다.이 파일은 변환 할 때 .wast
으로 변환되지 않는 파일에 허용되는 추가 테스트 명령을 포함하는 파일을 가리 킵니다 - assertions 등
이 간단한 예제를 보자 - 다음 프로그램은 imports
라는 모듈에서 imported_func
라는 함수를 가져오고 exported_func
라는 함수를 내 보냅니다.
(module (func $i (import "imports
" "imported_func
") (param i32)) (func (export "exported_func") i32.const 42 call $i ) )
WebAssembly 함수 exported_func
는 Google 환경에서 사용하기 위해 내보내집니다 (예 : WebAssembly 모듈을 사용하는 웹 앱). 이 함수를 호출하면 imported_func
라는 가져온 JavaScript 함수가 호출됩니다.이 함수는 매개 변수로 제공된 값 (42)으로 실행됩니다.
위의 .wat
텍스트 표현 예제를 .wasm
어셈블리 형식으로 변환 해 봅시다.
simple.wat
라는 텍스트 파일 안에 위의 목록을 복사하십시오. PATH
에 /wabt/out/clang/Debug
디렉토리를 추가하십시오.-o
매개 변수 다음에 출력 파일의 경로를 전달하십시오.
wat2wasm simple.wat -o simple.wasm
wasm을 .wasm
어셈블리 코드가 들어있는 simple.wasm
파일로 변환합니다.
Note: wasm2wat 도구를 사용하여 어셈블리를 다시 텍스트 표현으로 변환 할 수도 있습니다. 예 : wasm2wat simple.wasm -o text.wat
.
출력 파일은 어셈블리 기반이므로 일반 텍스트 편집기에서는 볼 수 없습니다. 그러나 wat2wasm 도구의 -v
옵션을 사용하여 볼 수 있습니다. 아래 코드를 실행해 보세요:
wat2wasm simple.wat -v
이렇게하면 다음과 같은 방법으로 터미널에 출력을 줄 수 있습니다.