自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

跟著我們的新指南學習開發(fā) WebAssembly

開發(fā) 后端
使用 WebAssembly 開發(fā)有很多不同的方向,這取決于你已經(jīng)知道的東西和你想建立的東西。

在過去的幾十年里,Web 瀏覽器作為最流行的跨平臺應用經(jīng)久不衰。從另一個角度看瀏覽器,它是最受歡迎的應用交付平臺之一。想想你使用的所有網(wǎng)站,它們?nèi)〈四氵^去用桌面上運行的軟件進行的活動。你仍然在使用軟件,但你是通過瀏覽器來訪問它,而且是在別人的 Linux 服務器上運行。在優(yōu)化我們所有人使用的軟件的永恒努力中,軟件開發(fā)世界早在 2019 年就引入了 WebAssembly,作為通過 Web 瀏覽器運行編譯代碼的一種方式。應用的性能比以往任何時候都要好,而且可以生成 WebAssembly 編碼的語言遠不只是通常的 PHP、Python 和 JavaScript。

一個目標和一種語言

關于 WebAssembly 的一個強大但也最令人困惑的地方是,“WebAssembly” 這個詞既指一種語言,也指一個目標。WebAssembly 是一種匯編語言,但沒有多少人選擇直接用匯編寫代碼。即使是匯編語言,最終也會被轉(zhuǎn)換為二進制格式,這也是計算機運行代碼的要求。這種二進制格式也被稱為 WebAssembly。不過這很好,因為這意味著你可以用你選擇的語言來寫一些最終以 WebAssembly 交付的東西,包括 C、C++、Rust、Javascript 和其他許多語言。

進入 WebAssembly 的途徑是 Emscripten,這是一個 LLVM 編譯器工具鏈,可以從你的代碼中產(chǎn)生 WebAssembly。

安裝 Emscripten

要在你的 Linux 或 macOS 電腦上安裝 Emscripten,請使用 Git:

$ git clone https://github.com/emscripten-core/emsdk.git

改變目錄進入 ??emsdk?? 目錄并運行安裝命令:

$ ./emsdk install latest
$ ./emsdk activate latest

Emscripten 工具鏈中的所有內(nèi)容都安裝在 ??emsdk?? 目錄下,對系統(tǒng)的其他部分沒有影響。由于這個原因,在使用 ??emsdk?? 之前,你必須 源引source

$ source ./emsdk_env.sh

如果你打算經(jīng)常使用 ??emsdk??,你也可以在 ??.bashrc?? 中加入環(huán)境設置腳本。

要在 Windows 上安裝 Emscripten,你可以在 WSL 環(huán)境下運行 Linux。

請訪問 ??Emscripten 網(wǎng)站?? 了解更多安裝信息。

Hello World

下面是一個用 C++ 編寫的簡單的 “Hello World” 應用。

#include <iostream>

using namespace std;

int main() {
cout << "Hello world";
return 0;
}

先把它作為你的系統(tǒng)的標準二進制文件來測試:

$ g++ hello.cpp -o world
$ ./world
Hello world

看到它像預期的那樣工作,用 ??emcc?? 把它構(gòu)建為 WebAssembly:

$ emcc hello.cpp -o world.html

最后,用 ??emrun?? 運行它:

$ emrun ./world.html

??emrun?? 工具是一個用于本地測試的方便命令。當你在服務器上托管你的應用時,??emrun?? 就沒有必要了。

學習更多關于 WebAssembly 的知識

使用 WebAssembly 開發(fā)可以有很多不同的方向,這取決于你已經(jīng)知道的東西和你想建立的東西。如果你了解 C 或 C++,那么你可以用這些來寫你的項目。如果你正在學習 Rust,那么你可以使用 Rust。甚至 Python 代碼也可以使用 Pyodide 模塊來作為 WebAssembly 運行。你有很多選擇,而且沒有錯誤的開始方式(甚至有 COBOL 到 WebAssembly 的編譯器)。如果你渴望開始使用 WebAssembly,

??請下載我們免費的電子書??

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-05-05 17:20:04

2023-08-31 22:40:01

2021-08-27 07:06:09

DubboDocker技術

2017-09-28 11:54:11

PHP

2023-04-06 09:18:52

鴻蒙AVPlayerAVRecorder

2010-07-16 15:29:02

Windows Pho

2013-02-25 11:06:34

2017-03-19 22:13:10

WebAssemblyJavaScript編程

2019-10-31 08:00:00

機器學習人工智能AI

2022-12-25 10:53:47

2024-08-13 14:14:55

場景數(shù)據(jù)庫API

2017-03-19 22:43:12

WebAssemblyJavaScript編程

2014-02-27 10:31:30

2024-10-09 08:42:03

2022-08-15 06:00:00

二進制編程語言

2017-03-07 15:43:28

編程語言函數(shù)數(shù)據(jù)結(jié)構(gòu)

2023-03-27 13:25:18

WebAssembl語言Scheme

2021-06-11 09:00:00

語言WebWebAssembly

2022-12-12 07:30:59

編程語言架構(gòu)

2022-05-16 10:25:03

Web內(nèi)部垃圾收集安全性
點贊
收藏

51CTO技術棧公眾號