Windows下安装 Emscripten 详细过程

2024-05-13 01:12

本文主要是介绍Windows下安装 Emscripten 详细过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

最近研究AV1编码标准的aom编码器,编译的过程中发现需要依赖EMSDK,看解释EMSDK就是Emscripten 的相应SDK,所以此博客记录下EMSDK的安装过程;因为之前完全没接触过Emscripten 。
在这里插入图片描述

Emscripten

Emscripten 是一个用于将 C 和 C++ 代码编译成 WebAssembly (Wasm) 和 asm.js 的工具链。它基于 LLVM 编译器基础设施构建,允许开发者在网页中以接近原生的速度运行 C 和 C++ 程序,而无需任何插件。

以下是关于 Emscripten 的一些关键点:

  • 编译目标:Emscripten 可以将 C/C++ 代码编译为 WebAssembly 字节码,这是一种高效的、在 Web 浏览器中运行的低级虚拟机代码。

  • 安装与配置:安装 Emscripten 需要先安装一些前置条件,如 Git、CMake、系统编译工具和 Python。然后通过 emsdk(Emscripten SDK)来安装和管理 Emscripten。

  • 编译过程:Emscripten 使用 emcc(Emscripten Compiler Frontend)作为命令行工具来编译代码。它支持多种编译优化选项,如 -O1 和 -O2,用于生成不同程度的优化代码。

  • 文件系统模拟:由于浏览器的沙盒环境限制,Emscripten 模拟了一个文件系统,允许 C/C++ 代码中使用标准的文件操作 API。

  • HTML 生成:Emscripten 不仅可以生成 JavaScript 文件,还可以生成 HTML 文件,使得编译后的代码能够直接在浏览器中运行。

  • 测试集:Emscripten 提供了丰富的测试用例,覆盖了其大部分功能,对开发者来说是很好的学习资源。

  • 用途:Emscripten 特别适用于希望在 Web 浏览器中运行 3D 游戏和其他高性能应用的场景。

  • 入门教程:对于初学者,有一系列教程可以帮助快速入门 Emscripten,包括如何编译简单的 “Hello, World” 程序,以及如何使用 Emscripten 的各种特性和优化。

Emscripten 的使用对于希望将 C/C++ 应用带入 Web 平台的开发者来说是一个强大的工具,它通过 WebAssembly 使得在浏览器中运行接近原生性能的应用程序成为可能。

  1. 官网:https://emscripten.org/
    在这里插入图片描述

Emscripten 的安装过程

  1. 源码下载:git clone https://github.com/emscripten-core/emsdk
  2. cd到源码目录:cd emsdk
D:\_codec\emsdk [main ≡]> ls目录: D:\_codec\emsdkMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/5/12      9:21                .circleci
d-----         2024/5/12      9:21                .github
d-----         2024/5/12      9:21                bazel
d-----         2024/5/12      9:21                docker
d-----         2024/5/12      9:25                downloads
d-----         2024/5/12      9:24                java
d-----         2024/5/12      9:24                node
d-----         2024/5/12      9:24                python
d-----         2024/5/12      9:21                scripts
d-----         2024/5/12      9:21                test
d-----         2024/5/12      9:25                upstream
-a----         2024/5/12      9:21            453 .dockerignore
-a----         2024/5/12      9:25            398 .emscripten
-a----         2024/5/12      9:21            513 .flake8
-a----         2024/5/12      9:21            510 .gitignore
-a----         2024/5/12      9:21             26 emcmdprompt.bat
-a----         2024/5/12      9:21          13068 emscripten-releases-tags.json
-a----         2024/5/12      9:21           1688 emsdk
-a----         2024/5/12      9:21           1564 emsdk.bat
-a----         2024/5/12      9:21           1436 emsdk.ps1
-a----         2024/5/12      9:21         120426 emsdk.py
-a----         2024/5/12      9:21             34 emsdk_env.bat
-a----         2024/5/12      9:21            596 emsdk_env.csh
-a----         2024/5/12      9:21            316 emsdk_env.fish
-a----         2024/5/12      9:21            100 emsdk_env.ps1
-a----         2024/5/12      9:21           2050 emsdk_env.sh
-a----         2024/5/12      9:21          25072 emsdk_manifest.json
-a----         2024/5/12      9:21            744 legacy-binaryen-tags.txt
-a----         2024/5/12      9:21           1348 legacy-emscripten-tags.txt
-a----         2024/5/12      9:21           1353 LICENSE
-a----         2024/5/12      9:21           2455 llvm-tags-64bit.txt
-a----         2024/5/12      9:21          11733 README.md
-a----         2024/5/12      9:21            734 SECURITY.md
  1. 顺序输入如下命令,进行激活、设置到环境变量中。
.\emsdk update #更新
git pull
.\emsdk install --global latest # 安装
.\emsdk activate latest # 激活
.\emsdk_env.bat # 设置到环境变量中
  1. 验证,终端输入如下命令:emcc -v,出现如下信息,表示安装成功
D:\_codec\emsdk [main ≡]> emcc -v
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.59 (0e4c5994eb5b8defd38367a416d0703fd506ad81)
clang version 19.0.0git (https:/github.com/llvm/llvm-project df762a1643bb5b0b3c907611d118c82d4b68a39d)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: D:\_codec\emsdk\upstream\bin

这篇关于Windows下安装 Emscripten 详细过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984261

相关文章

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子