成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

WebAssembly和Emscripten工作整理

qieangel2013 / 2937人閱讀

摘要:寫在前面之前做過一段時(shí)間的的研究,寫過幾個(gè),并且閱讀并翻譯了很多篇官方文檔,今天對這些東西做一個(gè)總結(jié)。主要是以鏈接形式提供,并附上簡短的說明。歡迎加入和技術(shù)交流群,群聊號(hào)碼

寫在前面

之前做過一段時(shí)間的WebAssembly的研究,寫過幾個(gè)WebAssembly Demo,并且閱讀并翻譯了很多篇Emscripten官方文檔,今天對這些東西做一個(gè)總結(jié)。
如果有需要對這塊知識(shí)了解的同學(xué),就可以按照這篇文章里的資料順序來學(xué)習(xí)。
主要是以鏈接形式提供,并附上簡短的說明。

WebAssembly方面 1.WebAssembly入門

這是一篇對WebAssembly進(jìn)行概括介紹的文章。里面也有demo。

鏈接: https://cunzaizhuyi.github.io...

2.WebAssembly API及調(diào)用過程圖示

為了搞清楚WebAssembly的幾個(gè)Web API而畫的一個(gè)典型的使用JS調(diào)用wasm模塊所涉及的API。

圖片鏈接:https://github.com/cunzaizhuy...

3.WebAssembly的CanvasDemo

介紹了一個(gè)基于canvas的圓球隨機(jī)運(yùn)動(dòng)小demo。

文章鏈接:https://cunzaizhuyi.github.io...

Demo鏈接:https://github.com/cunzaizhuy...

Emscripten官方文檔翻譯 1.Emscripten入門指導(dǎo)

是對這個(gè)Emscripten項(xiàng)目的教學(xué)型介紹,原文在get started目錄下。

鏈接: https://segmentfault.com/a/11...

2.emcc編譯工具使用

如何使用emcc工具將c/c++代碼編譯為wasm供js調(diào)用,從而生成web程序?如何使用emcc工具將c/c++代碼直接編譯為asm,從而生成web程序?以上兩個(gè)問題的答案,要在emcc編譯命令的介紹里面去搜尋。

鏈接:https://segmentfault.com/a/11...

3.代碼可移植性與限制

介紹將C/C++代碼編譯為wasm的過程中,有哪部分C/C++代碼不能被編譯、哪種代碼能編譯但是效率很低、哪種代碼可以通過轉(zhuǎn)化代碼寫法從而進(jìn)行編譯等。

鏈接:https://cunzaizhuyi.github.io...

4.Emscripten運(yùn)行時(shí)環(huán)境

因?yàn)閏/c++運(yùn)行時(shí)環(huán)境與web程序運(yùn)行時(shí)環(huán)境不同,因此一個(gè)Emscripten程序如果將來想要能夠被編譯成web程序,它就要對自身的運(yùn)行時(shí)環(huán)境進(jìn)行改造,填平、處理掉這些差異。

鏈接:https://cunzaizhuyi.github.io...

5.連接C程序和JavaScript代碼

實(shí)際上你可以將Emscripten看成一個(gè)js API 和c、C++ sdk 優(yōu)化子集,即它自己是一套完整的東西。從這個(gè)思路出發(fā),說到c和js的代碼交互,C里面怎么調(diào)用js,js里面又怎么調(diào)c,不過就是怎么用好emscripten sdk的問題,這么說好理解一點(diǎn)。

鏈接1:https://cunzaizhuyi.github.io...

鏈接2:https://cunzaizhuyi.github.io...

6.文件和文件系統(tǒng)

根據(jù)上一個(gè)鏈接的說法,這部分其實(shí)就是介紹了Emscripten項(xiàng)目的文件系統(tǒng)和c/c++的不同,為啥要有這些不同(因?yàn)橐m應(yīng)web環(huán)境),然后你怎么用我Emscripten的sdk中涉及文件系統(tǒng)的API等。

鏈接:https://cunzaizhuyi.github.io...

7.對opengl的支持

介紹了Emscripten項(xiàng)目能夠支持的OpenGL的版本與支持程度。

鏈接:https://segmentfault.com/a/11...

8.調(diào)試代碼

Emscripten提供了好幾種調(diào)試方式

鏈接:https://cunzaizhuyi.github.io...

9.優(yōu)化代碼

其實(shí)也算emcc編譯工具使用教程之一,它集中在講解哪些emcc命令是與優(yōu)化代碼質(zhì)量、大小有關(guān)的。

鏈接:https://cunzaizhuyi.github.io...

總結(jié)

以上文章都收錄在segmentfault的專欄。因?yàn)橹拔恼掳l(fā)表的時(shí)間是亂序的,所以這篇文章的主旨其實(shí)是整理一個(gè)合理的學(xué)習(xí)順序出來。

歡迎加入Wasm和emscripten技術(shù)交流群,群聊號(hào)碼:939206522

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90789.html

相關(guān)文章

  • WebAssembly起步

    摘要:解析下載后,需要引擎經(jīng)過兩個(gè)階段轉(zhuǎn)換成,然后再轉(zhuǎn)換為瀏覽器需要的中間字節(jié)碼。未來所有支持編譯到字節(jié)碼的編程語言,理論上都可以輸出。 了解WebAssembly原理 WebAssembly是一種可以在瀏覽器上運(yùn)行的二進(jìn)制可執(zhí)行格式文件。它將成為瀏覽器進(jìn)化史上又一次革命。 自從瀏覽器問世以來,javascript就成為瀏覽器上執(zhí)行程序的唯一標(biāo)準(zhǔn),越來越多的應(yīng)用程序通過javascript開...

    shiina 評(píng)論0 收藏0
  • WebAssembly介紹

    摘要:工作原理分點(diǎn)介紹官方解讀它可以從各類現(xiàn)有的其他高級(jí)語言寫的業(yè)務(wù)庫編譯而來,比如下文提到的庫,就是一種語言編寫的剛體動(dòng)力學(xué)與碰撞檢測計(jì)算的庫。 1、WebAssembly工作原理 分點(diǎn)介紹 官方解讀 它可以從各類現(xiàn)有的其他高級(jí)語言寫的業(yè)務(wù)庫編譯而來,比如下文提到的bullet庫,就是一種C++語言編寫的剛體動(dòng)力學(xué)與碰撞檢測計(jì)算的庫。根據(jù)調(diào)研,還有Haskell、Go、C#的語言的一些We...

    appetizerio 評(píng)論0 收藏0
  • Emscripten編譯器安裝教程,親測成功編譯出第一個(gè)WebAssembly

    摘要:如何判斷環(huán)境變量是否配置成功呢可以使用命令行工具在非目錄下,執(zhí)行,看看結(jié)果是不是類似下面如果是,那么恭喜你已經(jīng)安裝成功了。 javascript 這門語言的性能無法與原生的C/C++代碼相媲美,為了進(jìn)一步提高網(wǎng)頁的性能,業(yè)界推出了WebAssembly技術(shù):將C語言編譯成了瀏覽器可以執(zhí)行的wasm文件。WebAssembly不僅提高了網(wǎng)頁的性能,而且還可以完成原來javascript無...

    klinson 評(píng)論0 收藏0
  • WebAssembly應(yīng)用到前端工程(上)—— webassembly模塊的編寫

    摘要:本文以這個(gè)模塊的開發(fā)過程梳理如何應(yīng)用到前端工程中。注使用完成開發(fā)至少需要基礎(chǔ)的編碼能力。具體其他信息可以參考上該模塊的。配置主要針對源碼文件,需要添加正確的進(jìn)行處理。下一篇應(yīng)用到前端工程下和 前言 WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine...

    Mr_houzi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<