受到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!
下面上圖示范
好,現(xiàn)在成功連接到Ubuntu的root
新建一個hello.c用vim編輯器
接下來寫代碼
wq保存以后clang編譯,然后直接運行hello這個二進制文件,輸入?yún)?shù),接下來自動輸出每個參數(shù),運行結(jié)束,注銷對root的ssh連接,這里注意一下,exit只是關(guān)閉ssh通道而已,雖然提示是否注銷,但實際上并不是注銷當前正在虛擬機當中登錄的用戶。