- 浏览: 1477856 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
mac下安装:
centos7需要先装gcc8
参考https://blog.cles.jp/item/9428
git clone https://github.com/emscripten-core/emsdk.git
加压emsdk-portable.tar.gz
yum install -y epel-release
yum install -y cmake3 nodejs npm java-1.8.0-openjdk java-1.8.0-openjdk-devel
ln -s /usr/bin/cmake3 /usr/local/bin/cmake
需要用cmake3 ,卸载cmake2
先cmake --version
看下版本
./emsdk install latest
./emsdk activate latest
./emsdk install clang-incoming-64bit
./emsdk activate clang-incoming-64bit
source emsdk_env.sh
注意:clang-incoming-64bit必须有,否则版本对应不上,很多编译错误
参考
中文
asm.js 和 Emscripten 入门教程
http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html
英文
https://kripken.github.io/mloc_emscripten_talk/cppcon.html#/
faq
http://kripken.github.io/emscripten-site/docs/getting_started/FAQ.html
生成example4.js 和example4.html
python -m SimpleHTTPServer 8080
#####################centos7下的安装
centos7.6的gcc是 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
新版本可能有问题,找个老版本安装一下
如果有的 下载错误,就去zips目录下,wget下载
编译clang出错有可能是内存不够,1G的vm肯定不行啊。
具体操作:
[root@meituan7 emsdk]# gcc --version
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
[root@meituan7 emsdk]# emcc
WARNING:root:no input files
为安装成功
#############
Invalid verification text
https://vfsync.org/vm.html?login=1
frenchleaf
haoning
###########emscripten的教程 ######
helloworld:
http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html
和c互相调用的交互
https://github.com/3dgen/cppwasm-book
遗留问题:
1.sdl怎么用? https://lyceum-allotments.github.io/2016/06/emscripten-and-sdl-2-tutorial-part-1/
2.必须是干净的c的代码么,如果是系统依赖的怎么办
3.mame模拟器是否可以?
brew install SDL2 SDL2_image emscripten
centos7需要先装gcc8
参考https://blog.cles.jp/item/9428
git clone https://github.com/emscripten-core/emsdk.git
加压emsdk-portable.tar.gz
yum install -y epel-release
yum install -y cmake3 nodejs npm java-1.8.0-openjdk java-1.8.0-openjdk-devel
ln -s /usr/bin/cmake3 /usr/local/bin/cmake
需要用cmake3 ,卸载cmake2
先cmake --version
看下版本
./emsdk install latest
./emsdk activate latest
./emsdk install clang-incoming-64bit
./emsdk activate clang-incoming-64bit
source emsdk_env.sh
注意:clang-incoming-64bit必须有,否则版本对应不上,很多编译错误
参考
中文
asm.js 和 Emscripten 入门教程
http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html
英文
https://kripken.github.io/mloc_emscripten_talk/cppcon.html#/
faq
http://kripken.github.io/emscripten-site/docs/getting_started/FAQ.html
#include <emscripten.h> extern "C" { double SquareVal(double val) { return val * val; } } int main() { EM_ASM({ SquareVal = Module.cwrap('SquareVal', 'number', ['number']); var x = 12.5; alert('Computing: ' + x + ' * ' + x + ' = ' + SquareVal(x)); }); }
emcc -s EXPORTED_FUNCTIONS="['_SquareVal', '_main']" -s EXTRA_EXPORTED_RUNTIME_METHODS="['cwrap']" example4.cc -o example4.html
生成example4.js 和example4.html
python -m SimpleHTTPServer 8080
#####################centos7下的安装
centos7.6的gcc是 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
新版本可能有问题,找个老版本安装一下
如果有的 下载错误,就去zips目录下,wget下载
编译clang出错有可能是内存不够,1G的vm肯定不行啊。
具体操作:
yum install cmake -y git clone https://github.com/juj/emsdk ./emsdk list --old ./emsdk install sdk-tag-1.36.2-64bit ./emsdk activate sdk-tag-1.36.2-64bit source ./emsdk_env.sh
[root@meituan7 emsdk]# gcc --version
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
[root@meituan7 emsdk]# emcc
WARNING:root:no input files
为安装成功
#############
Invalid verification text
https://vfsync.org/vm.html?login=1
frenchleaf
haoning
###########emscripten的教程 ######
helloworld:
http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html
和c互相调用的交互
https://github.com/3dgen/cppwasm-book
遗留问题:
1.sdl怎么用? https://lyceum-allotments.github.io/2016/06/emscripten-and-sdl-2-tutorial-part-1/
2.必须是干净的c的代码么,如果是系统依赖的怎么办
3.mame模拟器是否可以?
发表评论
-
wasm工具
2020-06-14 03:04 679npm install -g cnpm --registr ... -
indexedDB存图片减少请求
2020-05-21 19:23 557getImageFile()获取网络图片 showImage ... -
vizceral-example的例子
2020-03-19 18:53 355自定义图和加载结构 代码在 https://github.c ... -
jsonpath的helloworld
2020-03-17 14:58 411基本语法:https://www.cnblogs.com/jp ... -
用WebAssembly与rust和c交互的demo
2019-11-26 19:47 68732,263.98 入门教程 https://learnku ... -
em-dosbox
2019-11-23 18:27 739基本知识: 1.emscripten gc ... -
流动图神器vizceral
2019-10-12 19:04 510把c的代码生成json:https://github.com/ ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
建立tap设备的c的代码
2019-01-08 19:09 474tapper.c #include <stdio.h& ... -
jslinux总结帖
2019-01-04 21:33 1134注意个问题: chrome不要用两个tab页,否则ping不通 ... -
nginx代理wss和https
2018-02-27 15:34 3929nginx启用ssl yum install openssl ... -
jslinux-deobfuscated-network
2017-02-13 22:37 714基础知识 查看网络包 tcpdump -i eth0 -e ... -
websocket上传文件
2016-12-15 13:30 4480nginx的上传 查看http://haoningabc.it ... -
用buildroot为jslinux建立最小rootfs
2016-11-18 17:59 1270############################### ... -
jslinux带网络功能的内核
2016-11-15 15:35 810想重新编译jslinux-network 的内核,其实就是比f ... -
webpack的helloworld
2016-11-02 10:42 914参考 http://www.jianshu.com/p/42e ... -
nginx rewrite替代apache rewrite
2016-10-18 20:30 834清理chrome的缓存 chrome://appcache-i ... -
iphone6等移动端的css自适应
2016-10-17 01:18 1214参考 http://jingyan.baidu.com/art ... -
websocket和tap使用select关联
2016-06-14 22:01 749c语言的socket基础http://haoningabc.i ...
相关推荐
3. **兼容性**:配合 Emscripten 等工具,可以编译 C/C++ 代码为 asm.js,利用现有库。 4. **可嵌入性**:与其他 JavaScript 应用集成简单,无需额外的运行环境。 然而,asm.js 也有其局限性,如代码可读性较差,...
接着,Emscripten的后端将这个IR转换为JavaScript,尤其是转换为一种名为Asm.js的优化JavaScript子集。Asm.js是一种高效的JavaScript格式,它可以被现代浏览器快速解析和执行。从1.38.30版本开始,Emscripten还支持...
仍然是JavaScript的子集,但更适合手写(这样您就不需要使用C / C ++-> Emscripten-> asm.js进行数学运算) 工作正在进行中。目前支持: ES6 import并命名export 自动var , let , const提取和转换自动功能布局...
这些库在Web环境中通常以“asm.js”或WebAssembly的形式存在。 6. **命令行工具**:Emscripten提供了`emcc`和`em++`命令行工具,它们分别用于C和C++的编译。这些工具集成了预处理、编译、链接和优化过程。 7. **...
通过Emscripten,一个LLVM到JavaScript的编译器,开发者可以将C++程序编译为asm.js代码。Emscripten允许C++开发者利用他们的现有代码库,并在Web上实现高性能。Emscripten编译的asm.js代码通常包含大量的数学运算和...
其实“asm.js是由Mozilla提出的一个基于JS的语法标准,主要是为了解决JS引擎的执行效率问题,尤其是使用Emscripten从C/C++语言编译成JS的程序的效率,”。从理论上讲,只要按照ASM.js规范的要求来写JS,其运行的时候...
asm.js是一个底层、格外为 JavaScript 子集优化的编译器。这是 Mozilla 研究项目,类似 Emscripten, Mandreel, 和 LLJS,这个示例让我们简单学习一下asm.js的使用
CSharpAsmjs C#Hello World示例到Asm.js 我试图写一个Hello World! 可以转换为Asm.js的示例应用程序首先使用C#Native( )转换为C ++,然后使用Emscripten( )转换为JavaScript。障碍: EMscripten无法编译C#...
Emscripten SDK 1.39.8 下载包,qt5.15 wasm 项目编译包 配合博客看吧 https://blog.csdn.net/zhouwu_a/article/details/108638698
ASM.js 是一种优化的 JavaScript 子集,专为高性能计算设计,它允许浏览器中的代码运行速度接近原生代码。在本主题中,我们将深入探讨如何利用 ASM.js 实现并行在线分布式计算,尤其是在 App 开发中的应用。 首先,...
Emscripten是一款强大的开源编译器,它能够将C/C++代码转换为JavaScript,从而在Web环境中运行。这个“emscripten-1.38.13”压缩包是Emscripten的一个特定版本,它包含了用于编译OpenCV等项目所需的所有组件和工具。...
Low Level Virtual Machine (LLVM) ================================ This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, ...
OpenCV.js 是由 OpenCV 主库经过 Emscripten 编译,转化为可以在浏览器中运行的 JavaScript 代码,支持 asm.js 和 WebAssembly,从而达到接近原生执行速度的效果。 1. **OpenCV.js 简介** OpenCV.js 的诞生源于 ...
主题:Bring Native to the Web: an introduction to Emscripten and asm.js 演讲人:张频,谋智网络(Mozilla)软件经理 演讲介绍:Emscripten 是 Mozilla 推出的一个开源编译工具,它能将 C/C++ 程序编译为 ...
因此,我使用 Emscripten 将 C++ 光线追踪器编译为 asm.js 和 WebAssembly,同时在 JavaScript 和 C++ 中实现了一个简单的,并具有类似的代码结构。 为了好玩,我还将代码翻译成 GLSL,并利用 WebGL 来利用 GPU ...
生成针对浏览器内部使用进行了优化:最小的大小可加快加载速度,asm.js,性能调整等。尽管它们也可在Node中使用。 建物 当前可用的版本(将来可能会添加其他版本): ffmpeg-webm.js -WebM编码(VP8和Opus编码器,...
Emscripten是一款开源的LLVM到JavaScript的编译器,它允许开发者将C和C++代码转换为可以在Web浏览器中运行的JavaScript代码。Emscripten的核心是LLVM前端,它将C/C++源代码转化为中间表示(IR),然后通过LLVM后端将其...
xmonarch:asm.js和WebAssembly中的Cryptonight哈希函数
ammo.js演示版概述示例代码可让您对API有所了解: 与进行交互 ammo.js是使用Emscripten将直接移植到JavaScript的端口。 源代码直接翻译为JavaScript,无需人工重写,因此功能应与原始Bullet相同。 注意:ammo.js刚刚...
opencvjs, OpenCV模块通过Emscripten编译到 JS opencvjs( 注意:这是一个正在进行的工作,尽管编译了代码,但是方法没有正确公开)OpenCV模块通过Emscripten编译到 JS所有模块都使用 -02个emscripten优化级别构建。...