Hello WebAsm:第一个WebAssembly例子

本文介绍了WebAssembly的概念、优势,并详细讲述了如何在Win10上的CentOS7虚拟机中搭建开发环境,包括安装Emscripten,以及编译和运行第一个WebAssembly示例。通过emcc命令将C代码转换为WASM,并使用emrun创建HTTP服务以在浏览器中展示结果。文章还提到了通过Nginx进行跨设备访问的设置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hello WebAsm:第一个WebAssembly例子

概述

让浏览器能运行C语言程序,这个想法新奇而大胆。这就是 WebAssembly。它具有以下优点:

  • 高效
    WebAssembly 有一套完整的语义,实际上 wasm 是体积小且加载快的二进制格式, 其目标就是充分发挥硬件能力以达到原生执行效率。
  • 安全
    WebAssembly 运行在一个沙箱化的执行环境中,甚至可以在现有的 JavaScript 虚拟机中实现。在web环境中,WebAssembly将会严格遵守同源策略以及浏览器安全策略。
  • 开放
    WebAssembly 设计了一个非常规整的文本格式用来、调试、测试、实验、优化、学习、教学或者编写程序。可以以这种文本格式在web页面上查看wasm模块的源码。
  • 标准
    WebAssembly 在 web 中被设计成无版本、特性可测试、向后兼容的。WebAssembly 可以被 JavaScript 调用,进入 JavaScript 上下文,也可以像 Web API 一样调用浏览器的功能。当然,WebAssembly 不仅可以运行在浏览器上,也可以运行在非web环境下。
  • 版权保护
    这条是我加的。有些业务逻辑还是隐藏起来比较好。

环境准备

首先就是开发环境的准备工作。我是用 win10 上 virtualbox 上跑的 centos7 虚拟机。下面开始准备(用root账号)(一些 gcc, g++, cmake … 已经安装好了):

下面的过程仅仅第一次需要准备

$ yum -y install bzip2
$ yum -y install python3

查看GLIBC版本。这个要求 GLIBC_2.18 以上。

$ strings /lib64/libc.so.6 | grep ^GLIBC

如果版本低则下载 glibc-2.18.tar.gz:

$ wget https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.18.tar.gz

然后升级GLIBC。

glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车斗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值