WebAssembly之C++
文章平均质量分 85
以一个C/C++程序员的角度来认识、使用WebAssembly
山河君
翻山越岭!共同努力,每天进步亿点点
展开
-
WebAssembly中级——网络连接websocket
系列文章目录WebAssebmly与C++文章目录系列文章目录前言一、Emscripten WebSockets API1.什么是Emscripten WebSockets2. 模拟POSIX TCP 套接字二、websocket1.使用websocket2.输入命令三、POSIX TCP前言作为一名C/C++程序员,一定很熟知网络连接,或多或少都使用过socket,如果经常做web端,那么如果使用过XmlHttpRequest、Fetch、WebSockets 和 WebRTC更能快速应用We原创 2021-07-08 18:47:00 · 5500 阅读 · 10 评论 -
WebAssembly初级——Embind普通函数、C++类(四)
系列文章目录WebAssebmly初级文章目录系列文章目录前言一、类声明导入js二、使用总结前言在了解了WebAssebmly是什么,和C++如何一起使用,并且将环境搭建好了之后,先初步看一下如何在web端直接获取到C++类。在之前的一贯用法中,例如cef中js调用C++方法基本都是将C++方法注册到js中,而现在可以直接在js中创建C++类对象。但是首先要告诉js声明的类是什么样子的。注意,本文讲的是如何在js创建类对象,而不是传入类对象|版本声明:山河君,未经博主允许,禁止转载!一、原创 2021-06-18 19:07:10 · 2486 阅读 · 6 评论 -
WebAssebmly初级——调试C++代码(三)
系列文章目录WebAssebmly初级文章目录系列文章目录前言一、安装扩展程序二、使用1.生成2.开启调试前言对于一个研发来说,写代码可以在许多编译器上编写,编译器体验感对于写代码来说可以是相当重要,可是更影响程序员体验的是如何调试代码,研发调试代码经常会用到断点,如果连断点都没有,仅仅靠输出Log信息无疑是让人抓狂的。emsdk是不提供断点调试代码的,2019年gdb研发人员公布可以使用gdb进行调试WebAssebmly二进制文件,但是博主亲测目前还没有能够实现调试功能。又有人说,安装一原创 2021-05-18 15:53:12 · 1565 阅读 · 7 评论 -
WebAssebmly初级——Windows环境搭建的两种方式(二)
系列文章目录WebAssebmly初级文章目录系列文章目录前言一、环境搭建两种方式介绍1.按官方文档2.直接使用安装包二、源码安装1.下载源码2.更新及编译3.环境变量的配置4.不配置环境变量三、初步使用1.输出'helloworld'2.输入命令3.运行前言如果还不知道WebAssebmly是个什么东东,请看我之前的一篇文章:WebAssembly初级——认识WebAssebmly(一)看过上篇文章的看客应该知道,如果我们想使用WebAssebmly编译.wasm文件,好方便在web浏览器中原创 2021-05-17 18:05:56 · 818 阅读 · 2 评论 -
WebAssembly与C++
前言如果您还没有听说过WebAssembly,请参阅TL; DR:WebAssembly是一种与JavaScript一起在浏览器中运行的新语言。恩,那就对了。JavaScript不再是浏览器中运行的唯一语言!但是,不仅仅是“不是JavaScript”,其区别还在于,您可以将代码从C / C ++ / Rust(甚至更多!)之类的语言编译为WebAssembly,并在浏览器中运行它们。由于WebAssembly是静态类型的,使用线性内存并以紧凑的二进制格式存储,因此它也非常快,最终可能允许我们以“接近本原创 2021-05-14 18:57:06 · 1097 阅读 · 1 评论 -
WebAssembly初级——认识WebAssebmly(一)
系列文章目录文章目录系列文章目录前言一、WebAssembly是什么?二、WebAssembly的目的三、WebAssebmly的目标四、WebAssebmly工作原理1.WebAssebmly关键概念2.wasm文件3.如何使用五、使用注意1.使用C风格符号修饰。2. 优化3.兼容性4. 线程问题六、性能对比前言WebAssembly作为一门新兴起的技术,大概是在2018年才由谷歌公司的程序员进行公布,在国内网站上关于此类的文章寥寥无几,但是如果翻墙一看,其实他已经在 JavaScript 圈非原创 2021-05-14 18:55:12 · 4451 阅读 · 3 评论