詞彙表

一般 (General)

LLVM 後端 (LLVM backend)

一個 (Clang) 編譯器後端,它將 LLVM 中間表示法 (IR) 轉換為指定機器或其他語言的程式碼。在 Emscripten 的情況下,指定的目標是 JavaScript。

載入-儲存一致性 (Load-store consistency)

載入-儲存一致性 (LSC) 是指在將具有特定類型的值寫入記憶體位置後,從該記憶體位置載入的值將具有相同類型的要求。因此,如果一個變數包含一個 32 位元浮點數,則對該變數的載入和儲存都將是 32 位元浮點數值,而不是 16 位元無符號整數或其他任何值。

注意 (Note)

此定義取自 Emscripten: An LLVM-to-JavaScript Compiler(第 2.1.1 節)。該論文中有更多詳細資訊。

最小化 (Minifying)

JavaScript 中的最小化是從原始碼中刪除所有不必要字元而不改變其功能性的過程。在較高的最佳化層級,Emscripten 使用 Closure Compiler 來最小化 Emscripten 程式碼。

重新迴圈 (Relooping)

從 LLVM 組件中出現的低階標籤和分支重新建立高階迴圈和 if 結構(定義取自這篇論文)。

SDL

簡單多媒體層 (SDL) 是一個跨平台的開發函式庫,旨在透過 OpenGL 和 Direct3D 提供對音訊、鍵盤、滑鼠、搖桿和圖形硬體的低階存取。

原始編譯器支援許多其他記憶體模型和編譯模式(請參閱 程式碼產生模式),但 Typed Arrays Mode 2 在其他好處之外,證明對任意程式碼具有最大的支援。

XHR

XMLHttpRequest 的縮寫。Emscripten 使用 XHR 非同步下載二進位資料。

Emscripten 工具和相依性 (Emscripten tools and dependencies)

Binaryen

Binaryen 是一個 WebAssembly 編譯器工具組,Emscripten 使用它來修改和最佳化 Wasm。

Clang

Clang 是 C、C++ 和其他程式語言的編譯器前端,它使用 LLVM 作為其後端。

Closure Compiler

Closure 編譯器用於在較高的最佳化層級最小化 Emscripten 產生的程式碼。

編譯器組態檔 (Compiler Configuration File)

編譯器組態檔儲存使用 emsdk activate定義的 active 工具和 SDK。

emcc

Emscripten 編譯器前端 (emcc)。Emscripten 作為類似 gcc 的編譯器的替代品。

Emscripten 命令提示字元 (Emscripten Command Prompt)

Emscripten Windows 命令提示字元 (emcmdprompt.bat) 用於從 Windows 的命令列呼叫 Emscripten 工具。

Fastcomp

Fastcomp 是 Emscripten 在 JS 編譯器和新的 LLVM Wasm 後端之後的第二個編譯器核心。

Git

Git 是一個分散式版本控制系統。Emscripten 託管在 GitHub 上,可以使用 git 用戶端更新和修改。

GitHub

GitHub 是一個 Git 儲存庫的網路託管服務,它還提供基於專案的協作功能,包括 wikis、任務管理和錯誤追蹤。

Emscripten 專案託管在 GitHub 上。

Java

Java 是一種程式語言和運算平台。Emscripten 使用它來執行一些進階最佳化。所需版本列在工具鏈需求中。

JavaScript

JavaScript (ECMAScript) 是一種程式語言,主要用作網頁瀏覽器的一部分,提供對主機環境中物件的程式化存取。借助 node.js,它也用於伺服器端網路程式設計。

asm.js JavaScript 子集是 Emscripten 的目標輸出語言。

lli
LLVM 直譯器 (LLVM Interpreter)

LLVM 直譯器 (LLI)LLVM 位元碼執行程式。此工具未維護,並且存在奇怪的錯誤和崩潰。

LLVM

LLVM 是一種編譯器基礎結構,旨在允許最佳化以任意程式語言編寫的程式。

node.js

Node.js 是一個用於以 JavaScript 編寫的伺服器端和網路應用程式的跨平台執行期環境。本質上,它允許您在瀏覽器環境之外執行 JavaScript 應用程式。

Python

Python 是一種用於編寫 Emscripten 許多工具的腳本語言。所需版本列在工具鏈需求中。

SDK 術語 (SDK Terms)

以下術語在提及 SDK 和 Emscripten SDK (emsdk) 時使用

emsdk

Emscripten SDK (emsdk) 用於執行所有 SDK 維護,並且可以安裝、更新、新增、移除和啟用 SDK工具。大多數操作的形式為 ./emsdk command。要存取 emsdk 腳本,請啟動 Emscripten 命令提示字元

工具 (Tool)

軟體中與 SDK 捆綁的基本單位。工具具有名稱和版本。例如,clang-3.2-32bit 是一個包含 32 位元版本的 Clang v3.2 編譯器的工具。Emscripten 使用的其他工具包括 JavaGitnode.js 等。

SDK

一組 工具。例如,sdk-1.5.6-32bit 是一個由以下工具組成的 SDK:clang-3.2-32bit、node-0.10.17-32bit、python-2.7.5.1-32bit 和 emscripten-1.5.6。

有多種不同的 Emscripten SDK 套件。這些可以從這裡下載。

活動工具/SDK (Active Tool/SDK)

emsdk 可以儲存多個版本的工具SDK。啟用的工具/SDK 是在Emscripten 命令提示字元上預設使用的工具組合。此編譯器設定儲存在 emsdk 特定的設定檔 (.emscripten) 中,並可使用 emsdk 進行變更。

emsdk 根目錄

emsdk 可以管理任意數量的工具SDK,這些工具和 SDK 儲存在 emsdk 根目錄子目錄中。emsdk 根目錄是您首次安裝 SDK 時指定的目錄。

SDK 根目錄

emsdk 可以儲存任意數量的工具和 SDK。SDK 根目錄是用於儲存特定SDK的目錄。其位置相對於emsdk 根目錄如下:<emsdk 根目錄>\emscripten\<sdk 根目錄>\

網站 / Sphinx

reStructured text

用於定義此網站內容的標記語言。請參閱reStructured text 入門