Emscripten 是一个 LLVM 到 JavaScript 的编译器。你可以使用它将 C 和 C++ 编译为 WebAssembly,并在浏览器中运行。下面是如何安装 Emscripten 的教程。
首先,你需要安装 Emscripten 的依赖项。这些包括:
然后,你可以按照以下步骤安装 Emscripten:
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
现在,你应该可以在命令行中输入 emcc
命令来检查 Emscripten 是否已经成功安装:
emcc -v
如果你看到版本信息,那就说明你已经成功安装了 Emscripten。
下面是一个基本的例子,展示如何使用 Emscripten 将 C 语言编译为 WebAssembly。
C 语言源代码(hello.c):
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
使用 Emscripten 编译:
emcc hello.c -s WASM=1 -o hello.html
这个命令将 C 语言源代码编译为 WebAssembly,并生成一个可以在浏览器中运行的 HTML 文件。
然后,你可以在本地服务器上打开这个 html 文件,看到 “Hello, World!” 输出在浏览器中。
注意:由于安全限制,你可能无法直接从文件系统打开 HTML 文件。你可能需要在本地运行一个服务器。如果你已经安装了 Node.js,你可以使用 http-server,安装方式如下:
npm install http-server -g
然后在包含 hello.html 文件的目录中运行:
http-server .
然后,你就可以在浏览器中打开 http://localhost:8080/hello.html 来查看结果了。
需要注意的是,虽然这种方式可以让 C 语言在浏览器中运行,但是由于浏览器的运行环境与传统的操作系统环境有很大的不同,所以并不是所有的 C 语言功能都可以在浏览器中使用。例如,直接操作硬件的代码,或者使用了操作系统特定 API 的代码,可能都无法在浏览器中正确运行。