怎樣在手機上寫代碼

受到iOS一款名為C Program的app啟發(fā)

它是通過連接到遠程服務(wù)器進行編譯后再將二進制文件返回給用戶,然后在終端模式下打開二進制文件來運行(我想大概原理應(yīng)該差不了太多)但這款app有個問題!它免費……但是寫超過500B的代碼要購買VIP之類的!意味著我只能寫hello word!

點子一:遠程

你不是遠程編譯嗎?那我自己搭個服務(wù)器,配置好編譯環(huán)境,我愛咋編咋編,你一個公司開發(fā)軟件你還要分三個軟件開發(fā),C Program,C++ Program,Objective -C Program,Python Program,你行你屌,欺負我不知道llvm可以編譯C/C++/Objc嗎,欺負我不知道很多Linux發(fā)行版都自帶了Python的環(huán)境可以直接編譯嗎!

點子二:連接

說到連接,就想到ssh或者ftp,不過ftp對于圖形化文件傳輸比較方便,要執(zhí)行shell的話我覺得還是ssh吧

點子三:服務(wù)

想要身處任何地方都能連接到家中(宿舍中)的虛擬機,我想來想去沒那么大的局域網(wǎng),那只能互聯(lián)網(wǎng)了,那還得配置webserver環(huán)境,相當于整個網(wǎng)站服務(wù)器的搭建

點子四:工具

一切都搞定后還得在手機上找個工具來進行連接不是,App Store找找還真有!看圖:

第一個WebSSH我覺得比較好,集成了ssh和sftp,有中文,終端的字體和配色也相對養(yǎng)眼,有日志功能方便查錯。

實施:

準備工作:

Mac OS X10.11.1

Parallels Desktop 10

Linux Ubuntu14.04 ISO文件

能端口映射的路由器一臺

PD10安裝Ubuntu這種不多說,裝好設(shè)置好root的密碼,打開終端

用sudo apt-get install命令分別安裝以下包

sudo apt-get install openssh

sudo apt-get install clang3.5

sudo apt-get install apache2

sudo apt-get install vsftpd

過程中有需要選擇yes/no的一律yes

分別測試以下命令檢測每個包是否正確安裝及配置

ssh root@localhost(如果詢問密碼,在輸入密碼后能成功登陸,那么openssh就OK了)

clang -v(如果顯示版本信息,那么clang編譯器OK了)

打開瀏覽器輸入localhost如果出現(xiàn)一個Ubuntu字樣的頁面,那么apache2也OK了

ftp root@localhost(輸入密碼后顯示ftp>就OK了)

好了,回到主機,PD10的高級設(shè)置添加兩個端口映射分別是80到80,22到22

其實到這里大家都會發(fā)現(xiàn)這與主機是Mac還是winPC無關(guān),與虛擬機是PD還是VMWare也無關(guān),所以win下用vmware或者virtual machine都一樣。

接下來手機聯(lián)網(wǎng),進入WebSSH,新建一個連接,用戶名寫你要登陸到ubuntu的用戶,密碼自己填,主機寫你的外網(wǎng)IP也就是wan IP(這是端口映射的目的,對了,忘了說,這時候還得用路由器把主機的80和22端口映射到外網(wǎng)的xx和xx,你隨便想一個你喜歡的,520也可以,8888、6666都無所謂,2333也行啦,注意不要太多位了,百度一下端口號最多可以多少位),端口就填你做了映射的xxxx(這里你得填內(nèi)網(wǎng)22端口映射的那個端口,不是80)

成功連接:

vim hello.c

(進入vim編輯器,按i進入insert模式,寫

#include <studio.h>

int mian()

{printf("hello word!");return 0;}

按鍵盤esc

輸入wq

回車)

clang -o hello hello.c -v

./hello

看到了hello word!

下面上圖示范

圖片發(fā)自簡書App

好,現(xiàn)在成功連接到Ubuntu的root

圖片發(fā)自簡書App

新建一個hello.c用vim編輯器

圖片發(fā)自簡書App

接下來寫代碼

圖片發(fā)自簡書App

wq保存以后clang編譯,然后直接運行hello這個二進制文件,輸入?yún)?shù),接下來自動輸出每個參數(shù),運行結(jié)束,注銷對root的ssh連接,這里注意一下,exit只是關(guān)閉ssh通道而已,雖然提示是否注銷,但實際上并不是注銷當前正在虛擬機當中登錄的用戶。

The END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,596評論 9 467
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,973評論 6 342
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,239評論 2 33
  • 昨天拜讀村上春樹的《當我談跑步時,我在談些什么》,馬上驚為天人,原來這就是我想要的文字,也是我想寫的文字。 前兩天...
    簡如一閱讀 203評論 0 0