Emscripten,emscripten windows

  Emscripten,emscripten windows

  目录1。Emscripten简介1.1出生背景1.2什么是Emscripten 2。安装Emscripten2.1的先决条件2下载和安装过程3。例4。参考

  1.Emscripten 1.1出生背景介绍

  Web技术突飞猛进,但有一个领域一直无法突破——游戏。

  游戏的性能要求非常高,有些大型游戏甚至连运行PC都费劲,更别说在浏览器的沙盒模式下运行了!然而,尽管困难重重,许多开发者从未放弃,希望让浏览器运行3D游戏。

  2012年,Mozilla的工程师Alon Zakai在研究LLVM编译器时突发奇想:很多3D游戏都是用C/C语言编写的。如果C/C语言可以编译成JavaScript代码,那么它们不会在浏览器中运行吗?众所周知,JavaScript的基本语法与C语言高度相似。

  于是,他开始研究如何实现这个目标,并为此做了一个编译器项目Emscripten。这个编译器可以把C/C代码编译成JS代码,但不是普通的JS,而是一个叫asm.js的JavaScript变种

  1.2什么是Emscripten Emscripten?emscripten的官方描述如下:

  Emscripten是一个工具链,用于编译成asm.js和WebAssembly,使用LLVM构建,让您在没有插件的情况下以接近本机的速度在web上运行C和C。

  翻译过来就是:

  Emscripten是一个工具链,用于通过LLVM编译asm.js和WebAssembly字节码。目的是让你在没有任何插件的情况下,在网页中以最快的速度运行C和C。

  Emscripten是一个基于LLVM的编译器。理论上,它可以将任何可以生成LLVM位代码的代码编译成asm.js,这是javascript的一个严格子集。其实主要是用来把C/C代码编译成asm.js的。

  2.安装Emscripten 2.1的前提条件如果要编译成WebAssembly,需要先编译LLVM。这是运行后续工具的先决条件。

  Git .它似乎已经默认安装在Linux和OS X系统中,而Git需要安装在Windows系统中。CMake .在Linux和OS X系统中,可以使用软件包管理工具apt-get或brew来安装。如果是Windows系统,可以点这里。系统编译工具。在Linux上,安装GCC。在操作系统上,安装Xcode。在Windows上安装带有更新3或更高版本的Visual Studio 2015社区。Linux和OS X上的Python 2.7.x可能已经安装了。看这里。安装完成后,确认git、cmake和python已经在您的环境变量中,并且可以使用。

  2.2下载安装过程从源代码编译安装非常麻烦,建议安装核心的Emscripten SDK。

  1、Windows环境

  首先使用以下命令下载emsdk。#获取EMS dk repo git clone https://github.com/Emscripten-core/emsdk.git#进入该目录CD EMS dk,然后使用以下命令安装和配置emscripten。#获取可用工具的最新注册表.\emsdk.bat update#下载并安装最新的sdk工具。需要先安装Python。\ emsdk.bat install latest#为当前用户“激活”最新的sdk。(写~/。emscripten文件)。\ Ems.bat activate latest #激活当前终端中的path等环境变量。\ emsdk _ env.bat使用以下命令验证Emscripten是否已正确安装和配置。#在当前终端中输入directorycd emsdk#激活路径和其他环境变量。\emsdk_env.bat#验证Emscriptenemcc.bat -v2、Linux环境

  先使用如下命令下载emsdk。#获取emsdk报告克隆https://github.com/emscripten-core/emsdk.git#进入该目录cd emsdk再使用如下命令安装配置脚本编写。#获取可用工具的最新注册表./emsdk更新#下载并安装最新的软件开发工具包工具。需要先安装python/EMS dk安装最新#为当前用户"激活"最新的sdk .(写~/。emscripten文件)。/emsdk激活最新#激活当前终端中的路径和其他环境变量/emsdk_env.sh使用如下命令验证Emscripten是否安装配置正确在当前终端中输入目录cd emsdk#激活路径和其他环境变量/emsdk_env.sh#验证Emscriptenemcc -v 3 .示例创建名为helloworld.cpp的文件,其内容如下:#包含stdio。hint main(){ printf( hello,world!\ n’);返回0;} 使用如下命令编译:emcc.bat helloworld.cpp编译后将生成a.out.js和答。出世界睡眠医学协会两个文件。后者是包含编译后代码的网程序集文件,前者是用于加载和执行后者的Javascipt文件。

  连续蒸煮是Emscripten的编译命令,它的用法非常简单: # 生成答:出去。jse MCC。蝙蝠你好世界。CPP #生成你好世界。jse MCC。蝙蝠你好世界。你好世界。js #生成helloworld.html和你好世界。jse MCC。蝙蝠你好世界。helloworld.html CPP-o使用如下命令测试编译后生成的代码,将输出"你好,世界!"。node a.out.js注:需要本地安装 NodeJS 的运行环境

  4.参考资料汇编。射流研究…和Emscripten入门教程

  http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html

  Emscripten教程

  https://huangwang.github.io/2018/07/15/Emscripten教程/

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: