① 求c語言編譯器及使用方法!!新手!!
編譯器有很多種,下面介紹兩種
1。turbo c 比較實用的編譯器
按f10,用方向鍵選擇最左邊file,點回車鍵出現下拉菜單,選擇第一個,把裡面的內容全刪瞭然後輸入x:\(x為源文件所在盤),找到源文件,回車鍵打開。
然後再按f10,選擇run或單擊r運行,或者直接按f9編譯,編譯後的文件在turbo c 所在文件夾的 out put文件夾裡面。
2。visual c++事實上這不只是單純的編譯器,應該說是開發環境,但包含有編譯功能,直接滑鼠操作就可以了。
② 什麼是代碼走讀和代碼機械化
(1) 代碼走讀都有哪些內容?
代碼走讀根據目的的不同,可以分為四個層次:
1、檢查是否符合編程規范;
2、尋找編譯器中的設計陷阱;
3、快速理解源代碼,找出流程設計中的問題;
4、對原有代碼的重構;
這四個層次可以按照從簡單到復雜的順序進行。
(2) 這四個層次都有什麼區別和意義?
1、 檢查是否符合編程規范;
編程規范融合並提煉了許多人多年開發編程語言程序積累下來的成熟經驗,幫助編程者形成良好的編程風格,提高源程序的可讀性和可維護性,降低出錯的機會,迅速跨入業已存在的且具有相當高度的技術層次,並能夠為提高代碼的復用性提供積極的參考。
2、 找編譯器中的設計陷阱;
術語「陷阱」的發展歷史並不明確,而且它有多種定義方法。本文定義為編程和設計過程中常見的和可防止的問題,能順利通過編譯,沒有任何警告和錯誤信息,而且計算機嚴格按照作者寫明的代碼執行,但是結果卻不是作者期望的。許多IT人士都知道,現在市場上有很多新的編譯器,它們可以捕獲大部分程序錯誤,但遺憾的是,仍有許多錯誤是編譯器不能發現的。打個比方,拼寫檢查程序是用來查找拼寫錯誤的,但是,如果單詞DOG被錯誤地寫為CAT,您能指出單詞CAT(實際是DOG)中的拼寫錯誤嗎?很顯然,不能。因為這個單詞可順利通過拼寫檢查程序。
這里描述的陷阱所包括的范圍廣泛,從較容易的語法問題,基本設計缺陷,到完全錯誤的行為。利用正確的使用方法來說明這些常見的誤解和誤用,可以防止編程者出現類似的問題,並防止新一代程序員重復過去的錯誤。
3、 快速理解源代碼,找出流程設計中的問題;
無論是溝通程序的操作,還是將知識存儲為可執行的形式,軟體的源代碼都是最終的介質。我們可以將源代碼編譯成可執行程序,也可以閱讀代碼來了解程序的功能及其工作方式,還可以修改源代碼來改變程序的功能。大多數編程課程和書籍都將重點放到如何從零開始編寫程序上。然而,在軟體系統的工作投入中,40%~70%是用在系統首次編寫完整之後,這些工作一定涉及到閱讀、理解、以及修改最初的代碼。另外,遺留代碼持續不斷、不可避免的累積;對軟體重用的強調;軟體行業中人員的高流動性;同時,開放源代碼開發工作和協同開發過程(包括外包、代碼走查和極限編程)日益重要,使得代碼閱讀成為當今軟體工程師的一項基本功能。此外,閱讀實際的、編寫良好的代碼,可以更加深入地了解如何改造與編寫重要的系統,僅僅編寫小型的程序學不到這種能力。
有時,閱讀代碼是一件不得不去做的事,比如:為了修復、檢查或改進現存的代碼,都必須去閱讀相關的代碼。有些時候,閱讀代碼也許是為了了解程序是如何工作的,對於任何能夠「打開蓋子」的事務,作為工程技術人員,我們總是傾向於分析一下它的內部結果。您閱讀代碼可能是想提取可供重用的材料,或者僅僅是出於個人興趣,將代碼作為一種文獻。每種原因的代碼閱讀都有自己的一套技術,強調不同方面的技能。
代碼走讀中的閱讀源代碼強調的是通過快速理解源代碼,找出流程設計中的問題這個目的。
4、 對原有代碼的重構;
重構的含義是:在不破壞可觀察功能的前提下,藉由搬移、提煉、打散、凝聚……,改善事務的體質、強化當前的可讀性、為將來的擴充性和維護性做准備、乃至於在過程中找出潛在的「臭蟲」,就成了大受歡迎的穩步前進的良方;
(3) 編程規范、設計模式和設計陷阱是什麼關系?
模式是避免陷阱或從特定陷阱中恢復的一種方法;
從陷阱的角度來看,設計模式有兩個重要屬性。首先,他們描述了經過實踐證明的成功的設計技術,而且可以用上下文相關的方法定製它們,以適應新的設計情況。其次,更加重要的是,提及特定的模式時,不僅說明了所應用的技術,而且說明了應用的原因以及結果;
當需要時,適合設計或者編碼上下文的模式、慣例、編程規范,將「自然地」從自己的潛意識中冒出來,這說明正確使用了模式、慣例、編程規范的一種跡象;
識別陷阱與對條件的反射類似,一朝被蛇咬,十年怕井繩。然而與比賽和打仗一樣,為了學習如何識別和避免危險情況,並不需要一定被燒傷或者被槍傷。一般情況下,必要條件就是提前警覺;
(4) 設計模式和重構是什麼關系?
設計模式給我們的,不僅僅是一些問題的解決方案,更有追求完美「模型」的渴望,但是,Joshua Kerievsky在那篇著名的《模式與XP》中明白地指出:在設計前期使用模式常常導致過度過程。這是一個殘酷的現實,單憑對完美的追求無法寫出實用的代碼,「實用」是軟體壓倒一切的要素。
(5) 快速理解源代碼和重構是什麼關系?
進行重構時,您從一個能夠正常工作的系統開始做起,希望確保結束時系統能夠正常工作。一套恰當的測試用來可以幫助您滿足此項約束,所以重構應該從編寫測試用例入手。一種類型的重構專注於修復一種已知的問題點。在此,您必須理解老的代碼、設計新的實現、研究新的實現對相關其它代碼造成的影響(多數情況下,新代碼能夠「無聲無息」地完成替換)並實現更改,所以重構需要先快速理解老的代碼。
(6)快速理解源代碼查找缺陷和尋找設計陷阱查找缺陷有什麼不同?
快速理解源代碼找出的代碼中的問題一般是流程設計上和軟體需求滿足上的特定的問題,需要讀者翻很多頁(發現前後的關聯),而尋找設計陷阱找出的代碼中的問題一般是普遍性的問題,一般不需要讀者翻頁,就在這一行的上下文中就可以找到。
(7)這幾個層次的代碼走讀和單元測試是什麼關系?
只有快速理解了源代碼才可以完成單元測試,或者說快速理解源代碼是完成單元測試的前提;
利用單元測試可以幫助更好地重構;
代碼走讀發現的問題比單元測試發現的更多、更快和更早;
單元測試發現不了不滿足編程規范的問題
(8)代碼走讀都有哪些方法?
形式上可以遵從同行評審的結構化的正規檢視、走查、單人復審等;
人工走讀時,檢查單可以按照頭腦風暴、親和圖、魚骨圖方法形成系統化的檢查樹和處理機制;
工具走讀可以藉助一些商用的測試工具和自己開發的輔助工具進行走讀。
(9)代碼走讀聽起來是不錯,如何才能達到效果嗎?
代碼走讀中使用的檢查單(或檢查樹)是很多人提煉和總結出來的結晶,市場和業界這方面的資料比較缺乏,因為多是個別大公司或個人的心血,所以很少在外面流傳,自己研究和總結有點得不償失,不如參考行業的優秀實踐,所以最好接受有經驗的專家的培訓或向有經驗的同行請教,在指導下開展推行,避免浪費自己的寶貴時間。
(10)代碼走讀和同行評審是什麼關系?
同行評審是一種比較偏管理的方法,評審的材料可以包括文檔和代碼,對於代碼的同行評審就是代碼走讀,本文講的代碼走讀偏重於技術層面的方法,兩者只有有效地結合才能更大地發揮它們的威力!
③ c語言的編譯器問題。
當VC++出現Compiling... Error spawning cl.exe 錯誤的解決辦法有如下幾種,請樓主嘗試:
方法1:
啟動VC時不要用圖形界面,通過在命令提示符下輸入:Msdev /useenv運行(注意啦/前面有個空格).它會強制使系統環境變數全高設置成正確值.而且,只需要使用一次這樣的方式運行VC,以後再次通過雙擊圖標的方式啟動也不會有問題。
方法2:
使用你的VC安裝盤修復一下。
方法3:
在VC中點擊「Tools」—>「Option」—>「Directories」,發現路徑有誤,重新設置「Excutable Fils,Include Files,Library Files,Source Files」的路徑。
要是顯示「找不到mspdb60.dll」,去能正常運行VC++的電腦中搜索mspdb60.dll文件,拷貝到你的機器上Microsoft Visual Studio\Common\MSDev98\Bin下。缺失其他文件類似操作O(∩_∩)O。
方法4:
可能很多人在安裝VC 6.0後有過點擊「Compile」或者「Build」後被出現的
「Compiling... ,Error spawning cl.exe」錯誤提示給郁悶過。很多人的
選擇是重裝,實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是VC使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。
④ 如何在地圖編輯器中像魔獸爭霸3冰封王座的戰役一關中一樣設置陷阱。
先創建一個馬甲在馬甲上添加蝗蟲技能和永久祭祀移動等等改為O然後在要出現火焰的地方弄幾個區域
再如圖觸發其實不用觸發也可以再添加個重生技能就好了生命回復速度改為負數
悲劇火焰馬甲=火焰的模型馬甲掛了不就火焰停止了嗎馬甲創建了火焰不就燃燒了嘛--0再不會留郵箱
⑤ 急~~~~C語言問題:為什麼把函數寫在主函數後面,但沒在主函數內聲明,卻沒有報錯
這里涉及到一個路徑的問題。我們編寫好的程序main函數是入口,當編譯器變異的時候會根據裡面調用到的其他函數去尋找載入進來一起編譯(非main函數如果不被main函數調用其實根本上就沒用,這里指的是不被main函數調用和main函數調用過的函數調用),假如是include進來的編譯器就知道去庫函數裡面載入那一個函數,而沒有include進來的就會在本目錄下檢索,假如檢索不到就編譯出錯。庫函數所在就相當於老地方,而main函數所在的地方就相當於本地,這兩個都是被編譯器熟知的。
其實除了c語言,java也會這樣,不在同一個包內的類需要導入,在同一個包裡面的類不需要導入(import),在同一個java文件裡面的類(內部類或者類外面定義的類都一樣)也不需要導入。因為編譯器知道在這兩個地方找,去類庫找就需要指定哪一個。
⑥ 編譯器怎麼使用
可能很多人在安裝VC 6.0後有過點擊「Compile」或者「Build」後被出現的
「Compiling... ,Error spawning cl.exe」錯誤提示給郁悶過。很多人的
選擇是重裝,實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是VC使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。
因此問題可以按照以下方法解決:打開vc界面 點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable Fils、Include Files、
Library Files、Source Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。
如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你裝在其他盤里,則仿照其路徑變通就行(我就是裝在D盤)。
關鍵是microsoft visual studio\ 後面的東西要相同。
⑦ 魔獸爭霸地圖編輯器中幽靈技能有什麼用
對應兩個不同的單位技能,幽靈技能就是崗哨守衛的永久不可見技能,而可見的幽靈技能就是靜止陷阱的不可見技能,當觸發陷阱時其實還是可見的~
⑧ 編譯器的問題!vc++
非正版軟體都可能遇到此類問題,你可以用ctrl+alt+del強行關閉後重新運行,第二次一般就沒事了,有時並不是你程序的問題。
⑨ 習語言作為國產編譯器,能直接編譯c代碼,完全兼容c,為啥很多會點c的人要排斥它呢
ANSIC一般都可以支持,但也涉及到不同版本的C標準的兼容性問題,比如VC6不支持C99,VS2003,2005,2008,20120等就可以部分支持C99標准;而且很多標准並沒有規定實現,不同的編譯器實現可能不同,比如C標准只規定了short<=int<=long,但並沒有規定位元組數,導致不同的編譯器數據類型的大小各不相同。非ANSIC標準的話,不同的編譯器一般都有不同的實現,需要分別實現。在移植到不同編譯器的時候這些都要注意處理,比較常規的做法是數據類型和函數等自己根據不同編譯器封裝成一個統一的格式,在程序中使用封裝後的數據類型或函數,而不要使用原生類型,這樣在移植時只需要在封裝的地方根據編譯器的不同進行修改就可以了,不需要再修改源代碼。
⑩ 編譯器有什麼用
簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。