跟我一起从零开始学习WebAssembly
本栏目的最终目的是使用WebAssembly代替MFC ActiveX(OCX)。在实现最终目的的过程中,会从最开始的环境配置记录,到实现一个简单demo,再到实现一个稍微复杂的demo,最终实现我们的目的。
SunkingYang
C++资深工程师,拥有12年C++开发经验。
期间从事Windows客户端及Linux服务端开发。客户端有ActiveX、MFC、QT,医疗虚拟与现实(Ogre、QT、OpenCV等),三维人脸识别。
拥有4年天网视频监控开发经验,包含ocx插件开发、国标解码库:软解码和硬解码开发等(Windows平台),2年雪亮工程国标服务开发经验,包含国标28181级联服务、国标流媒体等(Linux平台)。
展开
-
跟我一起从零开始学习WebAssembly(一)、环境配置
目录前言准备工作按照官网进行安装先来一遍官网操作大招来了前言写在前面:本专栏只针对Windows系统记录讲解。当前系统版本:Microsoft Windows [版本 10.0.18362.175]Emscripten SDK版本:emsdk-1.38.36python版本:python-2.7.13.amd64Git版本:Git-2.22.0-64-bitCMake版本:cmake...原创 2019-06-27 18:44:26 · 3202 阅读 · 6 评论 -
跟我一起从零开始学习WebAssembly(二)、最简单的例子hello world(编译创建HTML和JavaScript)
目录C/C++代码1、创建一个hello.c文件2、编译hello.c文件运行实例C/C++代码1、创建一个hello.c文件#include <stdio.h>int main(int argc, char ** argv){ printf("Hello World\n");}2、编译hello.c文件让我们看看如何使用它将C/C++示例编译为Emscr...原创 2019-07-08 15:20:29 · 1937 阅读 · 1 评论 -
跟我一起从零开始学习WebAssembly(三)、最简单的例子hello world(使用自定义HTML模板)
文章目录创建C++代码片创建我们的自定义HTML模板文件编译运行实例有时我们想要使用我们自定义HTML模板。让我们来看看我们如何做到这一点。创建C++代码片首先,创建一个名为hello2的目录。其次,在该目录下创建一个名为hello2.c文件。并将以下C++代码保存在文件中:#include <stdio.h>int main(int argc, char **...原创 2019-07-09 10:21:23 · 2229 阅读 · 0 评论 -
跟我一起从零开始学习WebAssembly(四)、将C/C++函数封装为接口,供js调用
目录原创 2019-07-09 15:01:22 · 3072 阅读 · 1 评论 -
跟我一起从零开始学习WebAssembly(五)、emcc编译选项介绍
备注:本文主要参考Emscripten教程之emcc编译命令,只是修改部分格式以便于看起来更直观,及修改、增删部分命令选项。emcc用于从命令行调用Emscripten的编译器,它实际上是标准编译器gcc或者clang的一个替换。语法emcc [options] file ...这个输入文件file,既可以是clang可以编译的C/C++语言,也可以是二进制形式的llvm bitcode...原创 2019-07-09 15:29:10 · 1489 阅读 · 0 评论 -
跟我一起从零开始学习WebAssembly(六)、常见问题之"为什么我的程序在“正在下载...”或“正在准备......”中停止?"
参考来源:Why does my program stall in “Downloading…” or “Preparing…”?如图,如果使用的是chrome浏览器:在我们前面的文章中,没有该问题,是因为我使用的浏览器是Edge。那么为什么会有这些问题呢。下面我们来解释一下:使用file://URL(如我们前面使用的:file:///D:/WebAssembly/TestHello/h...原创 2019-07-09 16:05:14 · 587 阅读 · 0 评论 -
跟我一起从零开始学习WebAssembly(七)、常见问题之为什么C/C++源代码编译为javascript后,在js中找不到函数
参考来源Why do functions in my C/C++ source code vanish when I compile to JavaScript, and/or I get No functions to process?Emscripten执行无效代码清除编译代码中未调用的函数。虽然这确实最小化了代码大小,但它可能删除了你打算本来要自己调用的函数(在编译代码之外)。要确保在通...原创 2019-07-09 17:49:29 · 1156 阅读 · 0 评论