怎麼跟我玩編譯
⑴ 如何在其他電腦上打開我編譯的可執行文件
VC中編譯的軟體版本分Debug版本和Release版,既調試版和發行版,顧名思義,調試版是你在軟體設計過程當中用於測試程序功能而使用的版本,發行版是確定軟體開發完成後最終定型的版本,為了減少測試時佔用過多計算機資源,Debug版很多庫函數在編譯過程中不加入到最終的可執行文件中去,所以在運行這個版本時你需要用到一些編譯器的鏈接庫,所以Debug版可能不能運行在別的計算機上,你只要在編譯時選擇Release版就能保證程序可以運行在別的計算機上了。
⑵ 如何用Mac完美編譯OpenJDK 7
1.選擇OS X版本很重要。
目前這里Mac版本是10.10,配置好必要信息以後就開始編,結果錯誤滿屏。簡單看過之後發現是編譯C文件的時候參數有誤,於是查了一下,才知道是LLVM版本太新,不兼容低版本的一些編譯參數。照著上面改了點代碼,但是依舊編譯不過。既然高版本不行,就裝個低版本的唄。由於最新的OS X不能裝低版本的Xcode(裝了Xcode才能裝LLVM),所以去下了一個10.8的OS X裝在虛擬機里,然後再裝個Xcode4.4。
裝好Xcode以後,要手動下載LLVM安裝。打開Xcode,隨便建立一個空項目,然後打開Preferences,找到如下所示的地方開始安裝
第一步咱就這么搞定了。
2.安裝X11
X11這玩意是unix類os使用的圖形系統,10.8以前的OS X是自帶的,但是從此以後就不自帶了。對應於Mac,你需要裝XQuartz,這個沒有版本限制,去網上下最新版即可。裝這個的原因是當時在編譯PolicyTools的時候出現了如下錯誤:
ld: library not found for -lX11
安裝以後要為X11建立軟連接
sudo ln -s /usr/X11/include/X11 /usr/include/X11
3.安裝freetype
在linux下編譯openjdk的朋友可能遇到過需要安裝freetype的要求,然後安裝下並將安裝目錄加到環境變數里就好了。但是OS X不一樣,freetype單獨安裝實際是沒用的。雖然單獨安裝能讓編譯前的檢查通過,但是到後面還是會出錯,至於原因我沒找到。那怎麼辦呢?實際上如果安裝好X11,freetype就一起安裝好了,大家可以去X11的目錄里看看是否有freetype。
雖然說安裝了X11就自帶freetype,但是編譯過程中可能會出現如下錯誤:
error: freetype/config/ftheader.h: No such file or directory
實際上就是目錄問題,執行下面這句命令就好了:
sudo ln -s /sr/X11/include/freetype2/freetype/ /usr/X11/include/freetype
4. 配置環境變數
和在Linux下編譯相比,OS X的環境變數配置相對來說簡單很多。只需要配置編譯需要的jdk和llvm的目錄就可以了。
因為很多源代碼都是用本機現有的jdk來編譯,所以預裝一個低版本的jdk是必須的,這里我們需要安裝jdk6。安裝好以後,找到其安裝目錄,並添加如下環境變數:
[plain] view plain
export ALT_BOOTDIR=/System/Library/java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
通常來說安裝目錄都應該在/System/Library/Java/JavaVirtualMachines目錄下。如果不在的話,有個技巧可以找到。因為安裝好jdk以後,系統會自動在/usr/bin下建立指向java命令的軟連接,所以執行「ls -l /usr/bin/java」就能看到這個命令指向哪,然後這么順著找下去就能找到。
llvm是編譯C類文件所必須的,所以要把它的所在目錄添加到環境變數里。通常OS X下安裝app都會把app移到Applications目錄下,所以我最初安裝Xcode的時候也把他移進去了,如果你把Xcode放在了別的目錄,那就找到對應的目錄即可。
[plain] view plain
export ALT_COMPILER_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin
5.獲取編譯源碼
按照這上面的第三點獲取源代碼 如果沒有裝hg的需要自行安裝
到現在為止,編譯前的准備工作已經完成。我們可以先執行make sanity執行下編譯前的檢查。如果檢查通過,先來看看具體的編譯命令:
[plain] view plain
make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=false ALWAYS_PASS_TEST_GAMMA=true HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
這里有兩個問題:
a. ALLOW_DOWNLOADS=true表示編譯過程中允許下載。因為有些編譯模塊,比如jaxp,編譯腳本中指定了需要下載特定的包。雖然我沒試過設置成false會不會影響編譯,但是還是推薦設置成true。但是這就帶來另一個問題,下載這類包很費時間,有時候就會在那卡很長時間,所以我根據編譯日誌找到編譯腳本中控制下載的具體命令,修改修改並且把用迅雷下的對應包放到正確目錄中,然後重新編譯一遍,就能順利通過了。這一點後面我會詳說。
b. SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=false這兩個表示編譯出來的jdk或者hotspot是否可以debug。FASTDEBUG表示的應該是提供簡單的debug功能,如果想要完整的debug,則SKIP_DEBUG_BUILD必須設置為false。不過這里提醒一點,如果想在debug jdk的時候能看到debug信息,比如變數名等,只需要SKIP_FASTDEBUG_BUILD設置為false就可以了
如果這兩個問題都不是問題,那麼就可以按回車了。如果debug和fastdebug都是false,再加上用虛擬機編譯,所以需要的時間會比較長,你也許需要找一部長一點的電影來消磨一下了。最後編譯出來的結果是這樣的:
j2sdk-image就是自己編譯出來的jdk,可以直接用了。至於其他目錄下的內容,各位自己琢磨吧。
現在來說下ALLOW_DOWNLOADS=true引起的問題。
但是遇到下載很久的包總共有三個:
jaxp145_01.zip、jdk7-jaf-2010_08_19.zip、jdk7-jaxws2_2_4-b03-2011_05_27.zip
之前說過可以修改編譯腳本跳過下載並且用我們已經下載好的,但是實際編譯過程中,這三個包對應的的編譯腳本是動態生成的,所以只能等到他卡在那了,才能停下來並找到腳本修改之。因此因為這三個包,總共需要停3次。,比起一直卡在那好太多了。
假設編譯的是普通版本,即非DEBUG和非FASTDEBUG。下面以jaxp145_01.zip為例子講一下怎麼修改對應腳本:
腳本所在位置:openjdk根目錄/build/macosx-universal/jaxp/build/xml_generated/build-drop-jaxp_src.xml
⑶ 如何使用IDEA編譯java文件
開始菜單 如果是xp系統點擊運行,如果是win7在開始菜單的輸入位置 輸入cmd 出現黑色窗口,輸入java -version 記得符號前面有一個空格回車即可看到jdk版本。
就在黑色窗口輸入「E:」 冒號不要用漢字的冒號回車,就進入d盤,然後輸入
「cd test_protects\src\java\com\ygDrive\book」 回車就可以進入編譯目錄下,輸入
"javac BookAction,java」回車,就可以編譯出來.class文件,其他的一樣,後面替換那個我不太會,因為它在其他文件,一個是用滑鼠復制粘貼,一個是用doc命令,好像是cut和
⑷ 我在linux centos編譯安裝了nethack,請問怎麼玩
NetHack這個游戲的退出命令是#quit,這個游戲的常用按鍵命令也就那麼些,記住基本的就可以了,其餘的以後慢慢就熟悉了,這個游戲的詳細攻略可以看網路貼吧的NetHack吧,裡面有介紹的。
⑸ CS地圖依然編譯不了,求人幫忙編譯,你可以自己編譯後玩,但要把編譯後的BSP文件給我
as_oilrig 油塔
as_tundra 凍原
cs_747 飛機
cs_assault 突擊
cs_backalley 黑巷
cs_estate 財產
cs_italy 義大利
cs_militia 民兵
cs_office 辦公室
cs_siege 圍攻
cs_thunder 惱怒
de_aztec 阿芝特克
de_cbble 富豪
de_st 灰塵
de_st2 灰塵2
de_inferno 地獄
de_nuke 核武器
de_prodigy 奇跡
de_rotterdam 水壩工作
de_strom 暴風雨 或者 猛攻
de_survivor 生存者
de_torn 分裂之淚
de_train 火車
de_vegas 賭城拉斯維加斯
de_vertigo 籠中虎de_st2 中文翻譯為"沙漠"(st是灰塵,塵土的意思)
de_aztec 中文翻譯為"阿嵫台克"(aztec是印第安語",很多網上玩家把這張地圖叫"吊橋"等)
de_inferno 中文翻譯"地獄"(網上多數稱其"油廠"等)
de_train 中文翻譯"火車"
de_nuke 中文翻譯"核彈危機"
⑹ 如何編譯並運行c語言程序
1、創建一個文件名為main.c,然後用任意一個款你熟悉的文本編輯軟體,比如說記事本,在裡面輸入下面的代碼,記住,要用文本文件編輯軟體,不能用word的。
(6)怎麼跟我玩編譯擴展閱讀:
c語言小游戲實現原理
1、二維數組實現棋盤
二維數組,用兩個for 循環,隨便輸出一個固定符號做棋盤,如 *
2、判定玩家
設計一個計步變數step, 每走一步 step++, 則玩家=step%2+1;
3、判定輸贏(重點)
設計方向數組 dircX[4] ,dircY[4],因為如果要判斷是否練成五子,只有1豎著2橫著3斜下4斜上
豎著的話就是 x-1,y不變
橫著的話就是x不變,y+1; 斜下: x+1,y+1; 斜上 x-1;y+1
這樣你就可以賦值dircX={-1,0,1,-1} dercY={0,1,1,1}
每當玩家落下一子,就全局判斷每個子的四個方向有沒有第二子,如果有,循環判斷有沒有第三子(利用 x+=dircX[1]),直到五子完成,結束。
⑺ 如何編譯腳本
首先要了解什麼是腳本? 腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。 腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec (腳本文件名).cfg 即可。比如將一個腳本存為buys.cfg文件,則在控制台中輸入:exec buys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。 語句簡介: 1. alias語句是參數賦值用,語法為alias 參數名 "數值" 2. bind語句為綁定命令,就是把某個alias賦值的參數綁到某個鍵。具體的語法為bind "鍵名" "參數名" 3. "buy"相當於按下"b"鍵; "buyequip"相當於按下"o"鍵; "menuselect x"就是對應購買菜單的號碼。 舉兩個例子: * 你要買ak47,那你在開局時會按b-->4-->1, 對應的腳本就是buy; menuselect 4; menuselect 1;(中間用分號隔開) * 你要買手雷和1個閃光彈的話,那你在開局時會按o-->4,o-->3, 對應的腳本就是buyequip; menuselect 4; buyequip; menuselect 3; 注意bind鍵不能沖突,否則先bind的無效 什麼是bind? Bind就是分配一個命令到指定的鍵,它同樣能夠分配一個alias到指定的鍵。 比如:bind "mouse1" " attack" 表示分配 attack(攻擊)這個命令到指定的鍵mouse1(滑鼠左鍵) 什麼是alias? Alias就是給一組命令定義一個名稱,當你定義過後,CS就認為此alias為一個普通的命令,你可以用bind命令分配一個鍵給這個alias,也可以在其他的alias中使用它。 比如:alias hw "say Hello World!" 則當你在控制台(console)中輸入hw這條命令回車執行後,你就對伺服器里所有的玩家說了"Hello World!"這句話。 你還可以用bind命令:bind "v" "hw" 當你按過v鍵後,你同樣對伺服器里所有的玩家說了Hello World!這句話。 又比如: alias buym "buy;menuselect 3;menuselect 1" //(注:相當於b-3-1) alias buyv "buy;menuselect 8;menuselect 1" //(注:相當於b-8-1) alias buysay "buym;buyv;hw" //(注:組合定義到一起) bind j "buysay" //(注:組合再定義到J鍵) 則表示當你執行buysay命令(注:按J鍵即可)後,購買MP5和普通防彈衣,然後對伺服器里所有的玩家說Hello World!這句話。 此alias實現的方法為: 第一步執行buym命令,buym命令已經定義好為"打開購買菜單;選擇菜單第3項;再選擇菜單第1項",即實現了購買MP5的功能; 第二步執行buyv命令,buyv命令已經定義好為"打開購買菜單;選擇菜單第8項;再選擇菜單第1項",即實現了購買普通防彈衣的功能; 第三步執行之前已經定義好的hw命令:對伺服器里所有的玩家說Hello World!這句話。 把這三步命令定義為一個新的命令buysay,然後用bind命令分配一個鍵給這個新的命令,則當你按下j鍵後就實現了這三步命令的功能。 注意: alias語句在Half-Life Counter-Strike里不能超過259個字元即下面這行字元的長度(一般也超不到這里來的)
⑻ java程序怎麼編譯運行我是純菜鳥!
你按照下面的步驟再試試:
1、在c盤的根目錄下創建一個javalx的文件夾;
2、把name.java文件放到javalx文件夾中;
3、打開CMD,輸入命令:cd\
回車;
4、當盤符為:C:\> 時,再輸入:cd javalx 回車;
5、先輸入:javac name.java
再輸入:java name
如果還是出現:「系統提示cannot read」的問題,那麼你去修改name.java源程序,將第一行的「package x.y.z;」注釋掉(即把包名注釋掉),重新運行,應該就沒有問題了……
樓主再嘗試下……
⑼ 在ubuntu系統中如何用GCC編譯運行一個C程序
1、確定安裝了gcc編譯器後,接下來用vim編輯一個c文件。