新聞中心
Go語言能在安卓運(yùn)行嗎? Go是腳本語言還是匯編?
go可以在安卓運(yùn)行的,github.com/golang/mobile,這是用golang做移動(dòng)端開發(fā)的庫,
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、做網(wǎng)站與策劃設(shè)計(jì),廣西網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:廣西等地區(qū)。廣西做網(wǎng)站價(jià)格咨詢:028-86922220
go是靜態(tài)編譯語言,不是腳本語言
android 可以用go 語言嗎
Go語言將支持Android
概述
我們建議將Go語言引入Android平臺(tái),重點(diǎn)是用Go語言編寫游戲程序,API將在Android
NDK中定義。
背景
Android平臺(tái)被設(shè)定為一個(gè)多應(yīng)用操作系統(tǒng),一個(gè)相對(duì)于傳統(tǒng)UNIX系統(tǒng)來說更依賴于網(wǎng)絡(luò)庫和服務(wù)的操作系統(tǒng),這意味著我們將為Go運(yùn)行時(shí)開放更多的API。
將Golang帶入Android平臺(tái)是一件非常糟糕的事情,因?yàn)锳ndroid本身是Java構(gòu)建的并且擁有巨量的API,任何試圖將這些API用Go替代的結(jié)果將會(huì)導(dǎo)致一個(gè)非常糟糕的結(jié)果。無論是手工建立包裝類還是自動(dòng)建立都會(huì)導(dǎo)致程序運(yùn)行非常緩慢。
然而如果使用基于C的API,通過AndroidNDK來編寫一些游戲類程序可能會(huì)帶來意想不到的收獲。
提議
在Golang
1.4周期中,Android平臺(tái)的編譯將納入Go的源,并且包含Android支持的cgo(由Elias
Naur貢獻(xiàn))。Dalvik-loadable
.so外部連接文件的支持也會(huì)由Android
NDK提供。
在發(fā)布上我們?nèi)匀惶峁┙徊嫫脚_(tái)編譯,并且支持在Linux主機(jī)上adb工具在Android設(shè)備上測(cè)試程序。
我們將會(huì)提供一個(gè)名叫g(shù)o.mobile的子版本,包含:
1、通過Android
NDK對(duì)OpenGL,OpenSL和OpenMAX的支持。
2、一個(gè)Java-Go的工具,支持通過Java調(diào)用Go的Package,所以許多游戲的菜單UI可以通過標(biāo)準(zhǔn)SDK構(gòu)建。(有可能會(huì)支持通過其他語言調(diào)用Go,比如Objective-C。)
3、集成AndroidStudio
新特性將會(huì)在Go1.4穩(wěn)定版中提供。
Go語言編譯器TinyGo,基于LLVM,在微控制器和小系統(tǒng)上編譯和運(yùn)行
TinyGo是一個(gè)為微控制器、WebAssembly(Wasm)和命令行工具等小型場(chǎng)景設(shè)計(jì)的Go語言編譯器。TinyGo重用了Go語言工具和LLVM使用的庫,以編譯用Go語言編寫的程序。目前,該項(xiàng)目在GitHub上已經(jīng)積累了10.1k的Star。
如下為一個(gè)示例程序,當(dāng)運(yùn)行在任何支持的帶板載LED的主板上時(shí),則會(huì)點(diǎn)亮內(nèi)置LED。
上述程序可以在單片機(jī)、Adafruit ItsyBitsy M0微控制器或任何支持的帶內(nèi)置LED的板上進(jìn)行編譯和不需要修改的運(yùn)行,只要設(shè)置正確的TinyGo編譯器目標(biāo)即可。例如,設(shè)置如下目標(biāo)可以編譯和點(diǎn)亮 單片機(jī)。
項(xiàng)目概述
TinyGo項(xiàng)目旨在將Go語言引入到具有單進(jìn)程或核心的微控制器和小系統(tǒng)。TinyGo類似于emgo,但主要的區(qū)別在于作者想要保留Go內(nèi)存模型。另一個(gè)區(qū)別在于TinyGo在內(nèi)部使用LLVM,因而可以獲得更小更高效的代碼以及更高的靈活性。
創(chuàng)建TinyGo項(xiàng)目的初衷是,如果Python可以在微控制器上運(yùn)行,Go語言當(dāng)然也應(yīng)該能夠在更低級(jí)微設(shè)備上運(yùn)行。
支持設(shè)備
你可以為微控制器、WebAssembly和Linux編譯TinyGo程序。目前,TinyGo支持以下85種微處理器板。
更多技術(shù)細(xì)節(jié)請(qǐng)參閱原項(xiàng)目。
在安卓平臺(tái)上安裝 GCC 的方法?
android上安裝GCC的步驟:
1、準(zhǔn)備文件:Terminal IDE.apk和GCC源文件。
2、解壓整個(gè)ZIP文件,并先將Terminal.apk文件安裝至手機(jī)中,然后把GCC整個(gè)文件一起放置到data/data/com.spartacusrex.spartacuside/files/system中。
3、修改data/data/com.spartacusrex.spartacuside/files/目錄下的.bashrc文件,添加以下代碼:
export CPLUS_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/c++/include:$CPLUS_INCLUDE_PATH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
export C_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/include:$C_INCLUDE_PATH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
export PATH=$IDESYSTEM/gcc/bin:$PATH
4、將gcc/bin下的文件改一下名,arm-linux-androideabi-g++改為g++,arm-linux-androideabi-gcc則改為gcc。
5、完成后重啟IDE即可使用GCC。
gcc(GNU編譯器套件):
GNU編譯器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go語言的前端,也包括了這些語言的庫(如libstdc++、libgcj等等)。GCC的初衷是為GNU操作系統(tǒng)專門編寫的一款編譯器。GNU系統(tǒng)是徹底的自由軟件。此處,“自由”的含義是它尊重用戶的自由。
創(chuàng)作背景:
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發(fā)的編程語言編譯器。它是以GPL許可證所發(fā)行的自由軟件,也是 GNU計(jì)劃的關(guān)鍵部分。GCC原本作為GNU操作系統(tǒng)的官方編譯器,現(xiàn)已被大多數(shù)類Unix操作系統(tǒng)(如Linux、BSD、Mac OS X等)采納為標(biāo)準(zhǔn)的編譯器,GCC同樣適用于微軟的Windows。[2]??GCC是自由軟件過程發(fā)展中的著名例子,由自由軟件基金會(huì)以GPL協(xié)議發(fā)布。
GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因?yàn)樗局荒芴幚?C語言。GCC 很快地?cái)U(kuò)展,變得可處理C++。后來又?jǐn)U展能夠支持更多編程語言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各類處理器架構(gòu)上的匯編語言等,所以改名GNU編譯器套件(GNU Compiler Collection)。
如何用Go語言開發(fā)Android應(yīng)用
Go 語言是一個(gè)試圖結(jié)合動(dòng)態(tài)類型和靜態(tài)類型,編譯效率和安全性以及語言的易用性等眾多特性與一體的一種嘗試。他的另一個(gè)目標(biāo)是支持現(xiàn)代的基于網(wǎng)絡(luò)的、基于多核的計(jì)算。最后,Go 還是非常快的,他可以在單個(gè)計(jì)算機(jī)上僅僅花費(fèi)幾秒時(shí)間構(gòu)建一個(gè)龐大的應(yīng)用程序。使用GO語言開發(fā)android語言步驟如下:
1. 下載安裝Go語言(版本1.5+)
Golang鏈接
回到頂部
2. 下載安裝 gomobile
下載
$ go get golang.org/x/mobile/cmd/gomobile
安裝(需要等待幾分鐘)
gomobile init
回到頂部
3. Golang開發(fā)手機(jī)應(yīng)用有兩種方式
a. 原生應(yīng)用開發(fā)
$ go get -d golang.org/x/mobile/example/basic
主要應(yīng)用領(lǐng)域:
應(yīng)用控制管理與配置
OpenGL ES 2 綁定
Asset 管理
Event 管理
試驗(yàn)中的包,含有OpenAL 綁定、音頻、字體、圖形以及運(yùn)動(dòng)傳感器
Android開發(fā)
$ gomobile build -target=android golang.org/x/mobile/example/basic
此命令會(huì)生成名為basic的apk安裝包
$ gomobile install golang.org/x/mobile/example/basic
此命令將安裝apk包到已連接的android設(shè)備
go語言編譯器有哪些官網(wǎng)
go語言編譯器官網(wǎng):可以去DELVE官網(wǎng)進(jìn)行下載。
谷歌資深軟件工程師羅布·派克(Rob Pike)表示,“Go讓我體驗(yàn)到了從未有過的開發(fā)效率。”派克表示,和今天的C++或C一樣,Go是一種系統(tǒng)語言。他解釋道,“使用它可以進(jìn)行快速開發(fā),同時(shí)它還是一個(gè)真正的編譯語言,我們之所以現(xiàn)在將其開源,原因是我們認(rèn)為它已經(jīng)非常有用和強(qiáng)大。”
撰寫風(fēng)格:
在Go中有幾項(xiàng)規(guī)定,當(dāng)不匹配以下規(guī)定時(shí)編譯將會(huì)產(chǎn)生錯(cuò)誤。
每行程序結(jié)束后不需要撰寫分號(hào)(;)。
大括號(hào)({)不能夠換行放置。
if判斷式和for循環(huán)不需要以小括號(hào)包覆起來。Go亦有內(nèi)置gofmt工具,能夠自動(dòng)整理代碼多余的空白、變量名稱對(duì)齊、并將對(duì)齊空格轉(zhuǎn)換成Tab。
本文名稱:安卓go語言手機(jī)編譯器 go語言編譯器手機(jī)版
本文路徑:http://ef60e0e.cn/article/hpedee.html