ホーム
» 用語集
(Clang) コンパイラバックエンドで、LLVM 中間表現 (IR) を、指定されたマシンまたは他の言語のコードに変換します。Emscripten の場合、指定されたターゲットは JavaScript です。
ロードストアの整合性 (LSC) とは、特定の型の値がメモリロケーションに書き込まれた後、そのメモリロケーションからのロードが同じ型になるという要件です。したがって、変数が 32 ビット浮動小数点数を含む場合、その変数へのロードとストアは両方とも 32 ビット浮動小数点値になり、16 ビット符号なし整数などにはなりません。
注意
この定義は、Emscripten: An LLVM-to-JavaScript Compiler (セクション 2.1.1) から引用したものです。この論文には追加の詳細が記載されています。
JavaScript での ミニファイ は、ソースコードの機能を変更せずに、不要な文字をすべて削除するプロセスです。より高い最適化レベルでは、Emscripten は Closure Compiler を使用して Emscripten コードをミニファイします。
LLVM アセンブリ ( この論文 から引用した定義) に現れる低レベルのラベルとブランチから、高レベルのループと if
構造を再作成します。
Simple DirectMedia Layer (SDL) は、OpenGL および Direct3D を介してオーディオ、キーボード、マウス、ジョイスティック、グラフィックスハードウェアへの低レベルアクセスを提供するように設計されたクロスプラットフォーム開発ライブラリです。
元のコンパイラは、他の多くのメモリモデルとコンパイルモードをサポートしていました (「コード生成モード」を参照) が、Typed Arrays Mode 2 は、他の利点の中でも、任意のコードに対する最大のサポートがあることが証明されました。
XMLHttpRequest
の短縮形。Emscripten は、バイナリデータを非同期的にダウンロードするために XHR を使用します。
Binaryen は WebAssembly コンパイラツールキットであり、Emscripten は Wasm を変更および最適化するために使用します。
Clang は、C、C++、およびその他のプログラミング言語用のコンパイラフロントエンドであり、LLVM をバックエンドとして使用します。
クロージャコンパイラは、より高い最適化で Emscripten によって生成されたコードをミニファイするために使用されます。
コンパイラ構成ファイルには、アクティブなツールと SDK が、emsdk activate を使用して定義されたとおりに保存されます。
Emscripten コンパイラフロントエンド (emcc)。gcc のようなコンパイラの Emscripten のドロップイン代替品。
Emscripten Windows コマンドプロンプト (emcmdprompt.bat) は、Windows でコマンドラインから Emscripten ツールを呼び出すために使用されます。
Fastcomp は、JS コンパイラの後、新しい LLVM Wasm バックエンドの前である Emscripten の 2 番目のコンパイラコアでした。
Git は分散リビジョン管理システムです。Emscripten は GitHub でホストされており、git クライアントを使用して更新および変更できます。
GitHub は、wiki、タスク管理、バグ追跡など、プロジェクトベースのコラボレーション機能も提供する Git リポジトリの Web ベースのホスティングサービスです。
Emscripten プロジェクトは GitHub でホストされています。
Java は、プログラミング言語およびコンピューティングプラットフォームです。高度な最適化の一部を実行するコードで Emscripten によって使用されます。必要なバージョンは、ツールチェーンの要件 に記載されています。
JavaScript (ECMAScript) は、主に Web ブラウザの一部として使用されるプログラミング言語であり、ホスト環境内のオブジェクトへのプログラムによるアクセスを提供します。node.js では、サーバー側のネットワークプログラミングでも使用されています。
JavaScript の asm.js サブセットは、Emscripten のターゲット出力言語です。
LLVM インタープリター (LLI) は、LLVM ビットコードからプログラムを実行します。このツールは保守されておらず、奇妙なエラーやクラッシュが発生します。
LLVM は、任意のプログラミング言語で記述されたプログラムの最適化を可能にするように設計されたコンパイラインフラストラクチャです。
Node.js は、JavaScript で記述されたサーバー側およびネットワークアプリケーション用のクロスプラットフォームランタイム環境です。基本的に、ブラウザコンテキスト外で JavaScript アプリケーションを実行できます。
Python は、Emscripten の多くのツールを記述するために使用されるスクリプト言語です。必要なバージョンは、ツールチェーンの要件 に記載されています。
以下の用語は、SDK および Emscripten SDK (emsdk) を参照する際に使用されます
Emscripten SDK (emsdk) は、すべての SDK メンテナンスを実行するために使用され、SDK および ツールをインストール、更新、追加、削除、およびアクティブ化できます。ほとんどの操作は ./emsdk command
の形式です。emsdk スクリプトにアクセスするには、Emscripten コマンドプロンプトを起動します。
SDK にバンドルされているソフトウェアの基本単位。ツールには名前とバージョンがあります。例えば、clang-3.2-32bit は、Clang v3.2 コンパイラの 32 ビット版を含むツールです。Emscripten で使用される他のツールには、Java、Git、node.js などがあります。
ツールのセット。例えば、sdk-1.5.6-32bit は、clang-3.2-32bit、node-0.10.17-32bit、python-2.7.5.1-32bit、emscripten-1.5.6 で構成される SDK です。
Emscripten SDK パッケージには、さまざまな種類があります。これらは こちら からダウンロードできます。
emsdk は、ツールとSDKの複数のバージョンを保存できます。アクティブなツール/SDK は、Emscripten コマンドプロンプト でデフォルトで使用されるツールのセットです。このコンパイラ構成は emsdk 固有の設定ファイル (.emscripten) に保存され、emsdk を使用して変更できます。
emsdk は、任意の数の ツール と SDK を管理でき、これらは emsdk ルートディレクトリ の サブディレクトリ に保存されます。emsdk ルートは、SDK を最初にインストールしたときに指定したディレクトリです。
emsdk は、任意の数のツールと SDK を保存できます。SDK ルートディレクトリ は、特定の SDK を保存するために使用されるディレクトリです。これは、emsdk ルートディレクトリ を基準として、<emsdk ルート>\emscripten\<sdk ルートディレクトリ>\ のように配置されます。
このサイトのコンテンツを定義するために使用されるマークアップ言語。 reStructured text 入門 を参照してください。