Emscripten 컴 파일 최적화
7562 단어 전단 개발
1. Emscripten 컴 파일 최 적 화 는 두 단계 로 나 뉜 다.
.emscripten :
# Correct. The SAME LLVM and JavaScript options are provided at both levels.
... / emcc - O2 a. cpp - o a. bc / / bitcode 로 컴 파일
... / emcc - O2b. cpp - o b. bc / / bitcode 로 컴 파일
. / emcc - O2a. bc b. bc - o procject. js / / bitcode 를 js 로 컴 파일 합 니 다.
두 단계 의 최적화 단 계 를 똑 같이 설정 합 니 다.
3. Js 가 라 이브 러 리 를 사용 하 는 두 가지 방식:
1. bitcode js
emcc project.bc libstuff.bc -o final.js
2. bitcode , js
emcc project.bc libstuff.bc -o allproject.bc
emcc allproject.bc -o final.js
4. Emscripten 포트
라 이브 러 리 로 수집 하여 Emscripten 에 이식 합 니 다.Github 주소:https://github.com/emscripten-ports
emcc 。 ports ,emcc , , , 。
예 를 들 어 SDL 2 는 ports 로 명령 을 요청 하고 사용 할 수 있 습 니 다 - s USE_SDL = 2 연결.
emcc tests/sdl2glshader.c -s USE_SDL=2 -s LEGACY_GL_EMULATION=1 -o sdl2.html
동적 라 이브 러 리 링크
Emscripten 의 목 표 는 가장 빠 르 고 가장 작은 코드 를 만 드 는 것 입 니 다. 이 때문에 전체 프로젝트 에 단일 한 JavaScript 파일 을 만 드 는 데 중심 을 두 고 있 습 니 다.이 때문에 가능 할 때 동적 링크 를 피해 야 한다.
결 성 된 경우,. so 파일 과. bc 파일 은. o 파일 과 같 습 니 다. 즉, 그들 은 LLVM bitcode 를 포함 합 니 다.
최종 구축 단계 (JavaScript 나 HTML 생 성) 에서 지정 한 동적 라 이브 러 리 를 정적 라 이브 러 리 로 연결 합 니 다.
6. emcc 의 주요 사용 방식 (튜 토리 얼:https://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html#tutorial)
# Generate a.out.js from C++. Can also take .ll (LLVM assembly) or .bc (LLVM bitcode) as input
./emcc src.cpp
# Generate src.o containing LLVM bitcode.
./emcc src.cpp -c
# Generate result.js containing JavaScript.
./emcc src.cpp -o result.js
# Generate result.bc containing LLVM bitcode (the suffix matters).
./emcc src.cpp -o result.bc
# Generate a.out.js from two C++ sources.
./emcc src1.cpp src2.cpp
# Generate src1.o and src2.o, containing LLVM bitcode
./emcc src1.cpp src2.cpp -c
# Combine two LLVM bitcode files into a.out.js
./emcc src1.o src2.o
# Combine two LLVM bitcode files into another LLVM bitcode file
./emcc src1.o src2.o -o combined.o
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Chrome Extension 2 편 -- 통신메모: 만약 여러 페이지 가 onMessage 사건 을 감청 한다 면, 어떤 사건 에 대해 서 는 sendResponse () 를 처음 호출 하 는 것 만 성공 적 으로 응답 할 수 있 고, 모든 다른 응답 은 무 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.