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

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者