vm如何編譯和運行C程序
『壹』 在win7系統中用VM安裝了linux,要如何再安裝gcc來運行c語言
你在虛擬機linux中能上網嗎?先配置一下,搞得能上網再說吧!!
如果能上網,那麼
1,fedora / centos/ suse :
su root
yum -y install gcc g++
2 如果是ubuntu
sudo apt-get install gcc g++
『貳』 Objective-C是動態語言嗎
動態與否的一個判斷方式是,運行時允許多少meta功能(包括語法分析、代碼自修改、類型處理)。真正意義上的動態語言,運行時包含全部的編譯設施(前端+樸素解釋器/VM/JIT後端),這些語言能提供eval支持。近期比較熱的基於VM的語言,運行時不需要前端,而是直接運行Bytecode,因此可以有一些簡單的運行時自修改。傳統的靜態語言,完全不需要運行時環境,當然,一些基礎的動態特性還是能做的,比如RTTI、偽動態類型。Objective-C可以在運行時修改對象(例如替換class)和類(例如增加、刪除和替換ivar和方法),因此符合動態語言的定義。
『叄』 vm虛擬機執行c程序
1:先安裝譽寬gcc;
鍵入gcc -v查看是否有gcc,慧液如果沒有執行慶碧亮安裝,鍵入yum install gcc執行安裝;
2:用gcc編譯成可執行文件;
gcc 文件名
3: ./可執行文件;
『肆』 java如何編譯成EXE的文件如何實現自編譯(不要虛擬機還可運行)
(1) 使用InstallAnywhere等工具,將應用程序和JRE一起打包,製作一個exe的安裝包。
在安裝過程中,用戶可以選擇使用他機器上的JRE或是這個安裝包內的JRE來運行程序。這是很常見的一種做法,顯得比較專業,而且原來的程序不需要作任何改動,安裝後的程序即在JVM上運行,可以獲得原本的效果。如JBuilder就是這么做的。InstallAnywhere中一個壓縮的JRE大概是8M,它可以針對linux、 win、mac等多個操作系統打包。
(2) 使用JET、gcj等工具,將應用程序製作成一個真正的exe文件。
採用這種方式做成的exe文件可以直接在沒有安裝JRE的計算機上運行。Java類庫全部被編譯成dll,變為本地調用。
JET是收費的(從 http://www.excelsior-usa.com/jetdlevala.html可以下載3.6試用版)。JET安裝好以後,它要把系統上安裝的JDK編譯一下,要等很久。如果JDK是1.4.2_05版還需要打一個補丁。
gcj有windows和Linux版,直接下載zip包,不需要安裝。裡面有不少例子,一些build的批處理文件。從原理來說,gcj自己實現了 JVM規范,當運行用gcj製作的exe(大約2M)時會啟動裡面的一個小型jvm,在上面跑應用程序。不過,gcj目前還不能完整地支持Swing。
但不管怎樣,把Java做成純exe實在是吃力不討好,有很多限制,文件又大。
(3) 使用exe4j製作偽exe文件。
原理:可執行的jar包文件可以通過命令行java -jar jarfile.jar來執行。製作偽exe其實做法一樣,只不過做成exe,調用系統中的java.exe來運行它。
一般情況下,exe4j做成的可執行文件仍需JRE支持,也就是說只能在安裝了JRE的計算機上運行。不過有一種方法可製作偽exe文件,在沒有安裝 JVM的機器上也能運行:雖然exe4j並不提供將JRE打包的功能,但是它提供如何搜索JRE的方法。在第六項設定[JRE]中有一步[Search sequence],添加一個Directory方式的搜索入口,指定是相對目錄「.」 ,然後把JRE目錄中的bin和lib兩個目錄復制到你的發布目錄中就可以了。(當然你可以不用當前目錄「.」,任何當前目錄下的其他目錄也可以,比方 「./JRE」之類的)。此時發布目錄中生成的exe文件就在運行時就會調用當前目錄中的JRE,而不是通過系統注冊表及環境變數尋找JRE了,所以只要把整個發布目錄(含exe及JRE的bin和lib)復制到其他計算機上,也就實現了「目標機即便沒有安裝過JRE也可以執行」。當然,這種發布方式無法得到一個內含JRE的單獨的exe文件。另外,JRE的完整目錄有50M,但是我們的程序只可能調用其中很少的一部分,你可以手動為發布目錄中的JRE減肥、去掉不使用的文件,但這需要一定的經驗。減肥後的JRE根據應用程序的不同,最小可以只有10M左右。
(4) 把java應用程序最後做成applet。
將java applet編入html文件,用瀏覽器方式打開,可以在任何沒有安裝JRE的機器上運行,好比exe文件一樣(當然在安裝了JRE的計算機上也可以用批處理文件或java命令來運行)。Windows IE打開applet靠的是一個叫「micosoft VM」的東西,現在該軟體一般都是自帶的。不過,Windows IE支持的JDK最高版本只能到JDK1.1。如果別人的機器運行不了applet,無非這三個原因:
a. 程序編譯時使用的JDK版本太高,Windows IE不支持。用較老闆版本的編譯器重新編譯(v1.1之前)就可以了。比如在dos下javac -target 1.1 *.jav(強制使用JDK1.1編譯源程序)。
b. 用戶的Windows沒有micosoft vm(這種情況比較少見,只有windows XP第一版等極少數情況)。這種情況下,當客戶的IE每次load applet時候, Windows會提示「沒有download micosoft VM」,他只需從網上下一個就可以了。
c. 用戶計算機上裝有一些保護ie的軟體(比如最新的windows sp2有時就會防止java applet的loading)。暫時關閉保護功能就可以了。
(5) 使用JBuilder、exe4j等工具製作成需要JRE支持的exe文件。