Cheep C++ 到 Webassembly 编译器现已开源。

CheepC++到Webassembly编译器现已开源。Cheerp是一个用于Web应用程序的C/C++编译器,可让你将几乎所有C/C++代码编译为WebAssembly和JavaScript。其最新的3.0版本已经开源。​​​Cheerp是一个用于Web应用程序的C/C++编译器,可让您将几乎所有C/C++代码编译为WebAssembly和JavaScript。其最新的3.0版本已经开源。Cheerp主要用于将现有的C/C++库和应用程序移植到HTML5,但也可用于从头开始编写高性能Web应用程序和WebAssembly组件。使用Cheerp,C/C++代码被编译成JavaScript/WebAssembly,并通过公开正确的JavaScript接口进行优化,可以轻松集成到Web应用程序中。Cheerp是Webassembly编译工具系列的一部分,与CheerpJ、CheerpXforFlash和WebVM并列。可用于以下场景:1.将遗留Java应用程序和JavaApplets转换为HTML5,只需很少的努力或无需任何努力,以延长它们的生命,直到弃用,或直到开发出替代的本机HTML应用程序。2.将现有的Java客户端迁移到基于浏览器的Web应用程序,通常通过使用CheerpJ将业务逻辑从Java转换为WebAssembly/JavaScript,并用原生HTML重写UI。3.使用(转换后的)Java库作为本机Web应用程序的一部分。在幕后,CheerpJ需要WebAssembly中的完整JavaSE运行时和存在于浏览器中的JavaScript,以及支持从Java访问和操作DOM的JavaScript/DOM互操作性API。相比之下,C++的Cheerp不需要这样的运行时,而是直接使用LLVM字节码格式作为目标文件和库的中间表示。它的特性如下:解析代码,发出最终的警告和错误,然后生成对输入程序进行编码的等效IR(=内部表示)。IR通过一系列转换优化为更紧凑和更高性能的IR。优化后的IR最终由代码生成为JavaScript和WebAssembly函数和变量的组合。或者简单地说:C++代码库->Cheerp(使用LLVM的优化)->JS+Wasm一旦生成了.js和.wasm文件,接下来就是为这两个静态文件提供服务,将它们嵌入到相关的HTML页面中,在库的API之上构建功能,并测试是否一切正常。主文件到被调用的仍然是一个.js文件,但是一个.wasm文件也被加载并从.js文件运行。虽然CheerpJ不是开源产品,但Cheerp现在是。在这一点上,重要的是要注意,从languageX到WebAssembly的工具现在可以证明更有用,因为WebAssembly最近摆脱了浏览器的限制,现在可以用于运行微服务和无服务函数,甚至可以运行Wasm二进制文件在命令行上,这样甚至可以开发跨平台的CLI应用程序。

相关推荐

封面图片

Cheerp 是一种开放源代码的C/C++ 编译器,它允许将几乎任何 C/C++ 代码编译为 WebAssembly 和 Jav

是一种开放源代码的C/C++编译器,它允许将几乎任何C/C++代码编译为WebAssembly和JavaScript。与Emscripten、Cheerp等Web应用程序的替代C/C++编译器相比,有以下优势:1.生成更优化(更小)的WebAssembly代码,但也可以编译为具有动态内存(垃圾收集输出)、零开销DOM操作和对​​WebAPI的访问以及卓越的C++-JavaScript互操作性的JavaScript输出。2.[[cheerp::genericjs]]允许通过(可选地)用和标记部分代码,将单个代码库编译成WebAssembly和JavaScript的组合[[cheerp::wasm]]。Cheerp的主要组件,即Cheerp编译器,可以在Github上找到:,而其他存储库在,和最近该项目发布了3.0这个大版本。同时把许可证从gpl换成了Apache2.0/LLVM许可,对商业使用更加友好。

封面图片

Wasm By Example

这是一个简洁而实用的WebAssembly介绍,使用代码片段和带注释的WebAssembly示例程序。教程用了多种语言实现。WebAssembly(Wasm)是一种在网络上运行的通用低级字节码。它是诸如Rust、AssemblyScript(类似于Typescript)、Emscripten(C/C++)等语言的编译目标,以及其他许多语言。Wasm提供了一种紧凑的二进制格式,具有可预测的性能,并具有与JavaScript和其他主机语言并存的可移植性。Wasm目前已经在所有主流浏览器中部署,并具有用于在服务器上运行或使用WASI与系统进行交互的运行时。

封面图片

C++ 中 Windows 编程概述

名称:C++中Windows编程概述描述:可以使用C++创建各种类别的Windows应用程序。每种应用程序都有自己的编程模型和一组特定于Windows的库,但C++标准库和第三方C++库可用于任何应用程序。本部分讨论如何使用VisualStudio和MFC/ATL包装器库创建Windows程序。链接:https://pan.quark.cn/s/1308b2d25a7d大小:N标签:#电子书#C#quark频道:@yunpanshare群组:@yunpangroup

封面图片

让 Python 和 C 语言性能相当的新编译器

让Python和C语言性能相当的新编译器是一个新的“高性能Python编译器,它可以将Python代码编译为本地机器代码,没有任何运行时间的开销”。与Python相比,在单线程上,典型的速度提升是10-100倍或更多。而且Codon支持原生多线程,这可以使速度再提高许多倍。Codon的性能与C/C++的性能相当(有时甚至更好)。用户只需像他们习惯的那样写Python,而不必担心数据类型或性能,Codon会自动处理这些问题,他们的代码运行速度比普通Python快10到100倍。来源,来自:雷锋频道:@kejiqu群组:@kejiquchat投稿:@kejiqubot

封面图片

linux C/C++ —码农有道教程

linuxC/C++—码农有道教程课程介绍《LinuxC/C++一码农有道教程》是一门专为初学者设计的课程,通过系统性地讲解Linux操作系统和C/C++编程语言的基础知识和应用技巧,帮助学员快速掌握开发Linux应用程序的能力。课程包括理论与实践相结合的教学方式,提供大量实例和练习,让学员能够真正掌握Linux环境下c/C++编程的核心概念和技能。学习地址百度:天翼:阿里:夸克:

封面图片

SummerAsr - 基于C++的可独立编译且几乎没有额外依赖库的本地中文语音识别器

-基于C++的可独立编译且几乎没有额外依赖库的本地中文语音识别器SummerAsr是一个独立编译的大范围连续语音识别系统(ASR),是一个可以本地运行的系统,不需要连接网络,并且没有其他依赖,一键编译完成即可进行语音识别。SummerAsr识别的WAV(PCM)数据格式为:16K采样率,16bitsintSummerAsr的底层计算库使用Eigen,Eigen是一套模板定义的函数,大部分情况下,只需要包含头文件即可,所以本项目没有其他依赖,在C++环境下可以独立编译和运行。本项目使用Eigen提供的矩阵库实现了神经网络算子,不需要依赖例如pytorch,tensorflow,ncnn等其他NN运行环境。本项目在Ubuntu上编译运行,其他类Linux平台,如Android,树莓派等,也应该没啥大问题,在Window上没有测试过,可能需要一点点。

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人