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许可,对商业使用更加友好。

相关推荐

封面图片

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应用程序。

封面图片

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

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

封面图片

Golang 编译器代码浅析

Golang编译器代码浅析本书主要目的是让读者在源码层面熟悉Go编译器的实现,因此会以代码讲解为主。但编译器的实现涉及到非常多的细节处理,本文会尽量避免大段的贴代码来对其进行分析(实际上也是不可行的),而是建议读者将文章当着一个参考,自己动手去源码中进行探索。因此每个主题的文章基本会按照如下结构进行组织:1.该模块的简介,需要涉及到的理论知识复习。例如词法、语法分析中涉及到很多形式语言与自动机的知识,文章都会先尽可能少地温习一下相关知识2.核心数据结构介绍,意在搭建该模块的骨架3.核心逻辑介绍,意在了解该模块实现的主体算法思路4.特殊案例分析,详细分析典型案例的处理流程另外作者还开了两个坑《Linux核心概念详解》和《极简计算机结构介绍》,也写了一些内容不过还不太完整。

封面图片

SWC是一个用Rust编写的超快TypeScript / JavaScript编译器,适用于下一代快速开发工具。 它被 Next

SWC是一个用Rust编写的超快TypeScript/JavaScript编译器,适用于下一代快速开发工具。它被Next.js、Parcel和Deno等工具以及Vercel、ByteDance、腾讯、Shopify等公司使用。SWC可用于编译和捆绑。对于编译,它使用现代JavaScript功能获取JavaScript/TypeScript文件,并输出所有主流浏览器都支持的有效代码。据称,SWC在单线程上比Babel快20倍,在四核上快70倍。

封面图片

Paradigm 发布 REVM 编译器 Revmc

Paradigm发布REVM编译器Revmc6月21日消息,Paradigm发布REVM编译器Revmc,Paradigm将开源Revmc,这是一个用于将EVM字节码降低为本机代码的编译器,在各种实际EVM基准测试中展示了从1.85倍到19倍的改进,还在Reth中集成了Revmc并成功同步了链。接下来,将在OPReth中集成Revmc以供L2使用,其改进将在计算繁重的工作负载中发挥作用。

封面图片

【EthStorage与合作伙伴发布zkGo编译器】

【EthStorage与合作伙伴发布zkGo编译器】2023年09月27日10点44分9月27日消息,EthStorage联合HyperOracle和DelphinusLab发布zkGo编译器。据介绍,zkGo基于Go最新的1.21.0基础上,是首个把常规的Go代码编译成ZK协议兼容的Wasm代码。生成的Wasm代码执行已经能够被DelphinusLab的zkWasm工具进行零知识证明和链上验证。

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

启动SOSO机器人