Inhaltsverzeichnis
1.3 Emscripten SDK
Emscripten je prevajalnik, ki prevaja C/C++ v WebAssembly (WASM).
Kaj je Emscripten?
Emscripten prevaja:
- C/C++ kodo → WebAssembly
- Sistemske API-je → JavaScript ekvivalente
- OpenGL → WebGL
Zakaj potrebujemo Emscripten?
Za WASM gradnjo OpenSSL, ki teče v Blazor WebAssembly.
Predpogoji
- ☑ Git na voljo
Namestitev v WSL
Korak 1: Odprite WSL
wsl
Korak 2: Kloniranje Emscripten SDK
# V imenik opt (sistemsko) cd /opt # Kloniranje kot root sudo git clone https://github.com/emscripten-core/emsdk.git sudo chown -R $USER:$USER /opt/emsdk
Ali v domačem imeniku (samo za vašega uporabnika):
git clone https://github.com/emscripten-core/emsdk.git ~/emsdk cd ~/emsdk
Korak 3: Namestitev najnovejše različice
cd /opt/emsdk # ali ~/emsdk # Namestitev najnovejše stabilne različice ./emsdk install latest # Aktivacija ./emsdk activate latest
Korak 4: Nastavitev okoljskih spremenljivk
Začasno (samo ta seja):
source /opt/emsdk/emsdk_env.sh
Trajno (v .bashrc):
echo 'source /opt/emsdk/emsdk_env.sh' >> ~/.bashrc
Preverjanje
# Emscripten prevajalnik emcc --version
Pričakovani izpis:
emcc (Emscripten gcc/clang-like replacement) 3.1.xx
# Dodatna orodja emar --version emranlib --version
Hitri test
Ustvarite testno datoteko:
cat > hello.c << 'EOF' #include <stdio.h> int main() { printf("Hello from WebAssembly!\n"); return 0; } EOF
Prevajanje v WASM:
emcc hello.c -o hello.js # Izvajanje z Node.js node hello.js # Izpis: Hello from WebAssembly!
Za gradnjo OpenSSL
Pri WASM gradnji OpenSSL se uporabljajo ta Emscripten orodja:
| Orodje | Uporaba |
| ——– | ——— |
emcc | C prevajalnik (nadomešča gcc) |
emar | Arhivar (nadomešča ar) |
emranlib | Ranlib (nadomešča ranlib) |
emconfigure | Ovoj za ./Configure |
emmake | Ovoj za make |
Primer:
# Namesto: ./Configure linux-x86_64 make # Z Emscripten: emconfigure ./Configure linux-generic32 emmake make
Posodobitev različice
cd /opt/emsdk # ali ~/emsdk # Pridobitev posodobitev git pull # Namestitev najnovejše različice ./emsdk install latest ./emsdk activate latest # Ponovno nalaganje okolja source ./emsdk_env.sh
Pogoste težave
"emcc: command not found"
Okolje ni naloženo:
source /opt/emsdk/emsdk_env.sh
"Python not found"
Emscripten potrebuje Python 3:
# Ubuntu sudo apt install python3 # Fedora sudo dnf install python3
Aktivirana stara različica
# Preverjanje aktivne različice emcc --version # Če je zastarela, ponovno aktivirajte cd /opt/emsdk ./emsdk activate latest source ./emsdk_env.sh
Naprej na
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 15.12.2025 ob 21:21