導航:首頁 > 源碼編譯 > 別錯過編譯

別錯過編譯

發布時間:2022-05-09 14:31:09

1. 編譯程序後,提示是:不兼容類型 為什麼啊哪裡出錯啦!我是初學者中的初學者~

public class xy
{

public static void main(String args[])
{
point p1=new point();
p1.show();
point p2=new point(3.5,4.5);
p2.show();
}
}

class point
{
double x,y;

public point ()
{
}

public point (double x,double y)
{
x=0;
y=0;//這里是0
}
public double a()
{
return x+y;
}
public void show()//這里是void 不然要返回值才行
{
System.out.println("兩數之和"+a());
}//下面的兩個花括弧改成英文輸入法
}

2. 解釋器的解釋編譯

解釋器運行程序的方法有:
1.直接運行高級編程語言 (如 Shell 自帶的解釋器)
2.轉換高級編程語言碼到一些有效率的位元組碼 (Bytecode),並運行這些位元組碼
3.以解釋器包含的編譯器對高級語言編譯,並指示處理器運行編譯後的程序 (例如:JIT)
Perl,Python,MATLAB,與Ruby是屬於第二種方法,而UCSD Pascal則是屬於第三種方式。在轉譯的過程中,這組高級語言所寫成的程序仍然維持在源代碼的格式(或某種中繼語言的格式),而程序本身所指涉的動作或行為則由解釋器來表現。
使用解釋器來運行程序會比直接運行編譯過的機器碼來得慢,但是相對的這個直譯的行為會比編譯再運行來得快。這在程序開發的雛型化階段和只是撰寫試驗性的代碼時尤其來得重要,因為這個「編輯-直譯-除錯」的循環通常比「編輯-編譯-運行-除錯」的循環來得省時許多。
在解釋器上運行程序比直接運行編譯過的代碼來得慢,是因為解釋器每次都必須去分析並轉譯它所運行到的程序行,而編譯過的程序就只是直接運行。這個在運行時的分析被稱為直譯式的成本。在解釋器中,變數的訪問也是比較慢的,因為每次要訪問變數的時候它都必須找出該變數實際存儲的位置,而不像編譯過的程序在編譯的時候就決定好了變數的位置了。
在使用解釋器來達到較快的開發速度和使用編譯器來達到較快的運行進度之間是有許多妥協的。有些系統(例如有一些LISP)允許直譯和編譯的代碼互相調用並共享變數。這意味著一旦一個子程序在解釋器中被測試並除錯過之後,它就可以被編譯以獲得較快的運行進度。許多解釋器並不像其名稱所說的那樣運行原始代碼,反而是把原始代碼轉換成更壓縮的內部格式。舉例來說,有些BASIC的解釋器會把keywords取代成可以用來在jump table中找出相對應指令的單一byte符號。解釋器也可以使用如同編譯器一般的文字分析器(lexical analyzer)和語法分析器(parser)然後再轉譯產生出來的抽象語法樹(abstract syntax tree)。
可攜性佳,直譯式程序相較於編譯式程序有較佳的可攜性,可以容易的在不同軟硬體平台上運行。而編譯式程序經過編譯後的程序則只限定於運行在開發環境平台。

3. 什麼是編程,編程主要用來干什麼

編程(biān chéng)是編定程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。

為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

(3)別錯過編譯擴展閱讀:

編程的語言:

1、機器語言

在計算機系統中,一條機器指令規定了計算機系統的一個特定動作。一個系列的計算機在硬體設計製造時就用了若干指令規定了該系列計算機能夠進行的基本操作,這些指令一起構成了該系列計算機的指令系統。

2、匯編語言

在匯編語言中,每一條用符號來表示的匯編指令與計算機機器指令一一對應;記憶難度大大減少了,不僅易於檢查和修改程序錯誤,而且指令、數據的存放位置可以由計算機自動分配。

3、匯編程序

使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬體結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。

但正是由於匯編語言與計算機硬體系統關系密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控製程序等,迄今為止匯編語言仍然是十分有效的程序設計工具。

4、高級語言

高級語言是一類接近於人類的自然語言和數學語言的程序設計語言的統稱。按照其程序設計的出發點和方式不同,高級語言分為了面向過程的語言和面向對象的語言。

4. 用什麼fortran編譯器好啊專業要用這門語言,剛開始學。

這是每個游戲編程FAQ里都有的問題。這個問題每星期都會在游戲開發論壇上被問上好幾次。這是個很好的問題,但是,沒人能給出簡單的答案。在某些應用程序中,總有一些計算機語言優於其他語言。下面是幾種用於編寫游戲的主要編程語言的介紹及其優缺點。希望這篇文章能幫助你做出決定。

1、C語言

如果說FORTRAN和COBOL是第一代高級編譯語言,那麼C語言就是它們的孫子輩。C語言是Dennis Ritchie在七十年代創建的,它功能更強大且與ALGOL保持更連續的繼承性,而ALGOL則是COBOL和FORTRAN的結構化繼承者。C語言被設計成一個比它的前輩更精巧、更簡單的版本,它適於編寫系統級的程序,比如操作系統。在此之前,操作系統是使用匯編語言編寫的,而且不可移植。C語言是第一個使得系統級代碼移植成為可能的編程語言。

C語言支持結構化編程,也就是說C的程序被編寫成一些分離的函數呼叫(調用)的集合,這些呼叫是自上而下運行,而不像一個單獨的集成塊的代碼使用GOTO語句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的「空心粉式代碼」代碼要簡單得多。事實上,C仍然具有GOTO語句,不過它的功能被限制了,僅當結構化方案非常復雜時才建議使用。

正由於它的系統編程根源,將C和匯編語言進行結合是相當容易的。函數調用介面非常簡單,而且匯編語言指令還能內嵌到C代碼中,所以,不需要連接獨立的匯編模塊。

優點:有益於編寫小而快的程序。很容易與匯編語言結合。具有很高的標准化,因此其他平台上的各版本非常相似。

缺點:不容易支持面向對象技術。語法有時會非常難以理解,並造成濫用。

移植性:C語言的核心以及ANSI函數調用都具有移植性,但僅限於流程式控制制、內存管理和簡單的文件處理。其他的東西都跟平台有關。比如說,為Windows和Mac開發可移植的程序,用戶界面部分就需要用到與系統相關的函數調用。這一般意味著你必須寫兩次用戶界面代碼,不過還好有一些庫可以減輕工作量。

用C語言編寫的游戲:非常非常多。

資料:C語言的經典著作是《The C Programming Language》,它經過多次修改,已經擴展到最初的三倍大,但它仍然是介紹C的優秀書本。一本極好的教程是《The Waite Group's C Primer Plus》。

2、C++

C++語言是具有面向對象特性的C語言的繼承者。面向對象編程,或稱OOP是結構化編程的下一步。OO程序由對象組成,其中的對象是數據和函數離散集合。有許多可用的對象庫存在,這使得編程簡單得只需要將一些程序「建築材料」堆在一起(至少理論上是這樣)。比如說,有很多的GUI和資料庫的庫實現為對象的集合。

C++總是辯論的主題,尤其是在游戲開發論壇里。有幾項C++的功能,比如虛擬函數,為函數呼叫的決策制定增加了一個額外層次,批評家很快指出C++程序將變得比相同功能的C程序來得大和慢。C++的擁護者則認為,用C寫出與虛擬函數等價的代碼同樣會增加開支。這將是一個還在進行,而且不可能很快得出結論的爭論。

我認為,C++的額外開支只是使用更好的語言的小付出。同樣的爭論發生在六十年代高級程序語言如COBOL和FORTRAN開始取代匯編成為語言所選的時候。批評家正確的指出使用高級語言編寫的程序天生就比手寫的匯編語言來得慢,而且必然如此。而高級語言支持者認為這么點小小的性能損失是值得的,因為COBOL和FORTRAN程序更容易編寫和維護。

優點:組織大型程序時比C語言好得多。很好的支持面向對象機制。通用數據結構,如鏈表和可增長的陣列組成的庫減輕了由於處理低層細節的負擔。

缺點:非常大而復雜。與C語言一樣存在語法濫用問題。比C慢。大多數編譯器沒有把整個語言正確的實現。

移植性:比C語言好多了,但依然不是很樂觀。因為它具有與C語言相同的缺點,大多數可移植性用戶界面庫都使用C++對象實現。

使用C++編寫的游戲:非常非常多。大多數的商業游戲是使用C或C++編寫的。

資料:最新版的《The C++ Programming Language》非常好。作為教程,有兩個陣營,一個假定你知道C,另外一個假定你不知道。到目前為止,最好的C++教程是《Who's Afraid of C++》,如果你已經熟知C,那麼試一下《Teach Yourself C++》。

3、我該學習C++或是該從C開始

我不喜歡這種說法,但它是繼「我該使用哪門語言」之後最經常被問及的問題。很不幸,不存在標准答案。你可以自學C並使用它來寫程序,從而節省一大堆的時間,不過使用這種方法有兩個弊端:

你將錯過那些面向對象的知識,因為它可能在你的游戲中使得數據建模更有效率的東西。

最大的商業游戲,包括第一人稱射擊游戲很多並沒有使用C++。但是,這些程序的作者即使使用老的C的格式,他們通常堅持使用面向對象編程技術。如果你只想學C,至少要自學OO(面向對象)編程技術。OO是模擬(游戲)的完美方法,如果你不學習OO,你將不得不「辛苦」的工作。

4、匯編語言

顯然,匯編是第一個計算機語言。匯編語言實際上是你計算機處理器實際運行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語且有相關的自我說明的語言,這不是你想要的。

確切的說,任何你能在其他語言里做到的事情,匯編都能做,只是不那麼簡單 — 這是當然,就像說你既可以開車到某個地方,也可以走路去,只是難易之分。話雖不錯,但是新技術讓東西變得更易於使用。

總的來說,匯編語言不會在游戲中單獨應用。游戲使用匯編主要是使用它那些能提高性能的零零碎碎的部分。比如說,毀滅戰士整體使用C來編寫,有幾段繪圖程序使用匯編。這些程序每秒鍾要調用數千次,因此,盡可能的簡潔將有助於提高游戲的性能。而從C里調用匯編寫的函數是相當簡單的,因此同時使用兩種語言不成問題。

特別注意:語言的名字叫「匯編」。把匯編語言翻譯成真實的機器碼的工具叫「匯編程序」。把這門語言叫做「匯編程序」這種用詞不當相當普遍,因此,請從這門語言的正確稱呼作為起點出發。

優點:最小、最快的語言。匯編高手能編寫出比任何其他語言能實現的快得多的程序。你將是利用處理器最新功能的第一人,因為你能直接使用它們。

缺點:難學、語法晦澀、堅持效率,造成大量額外代碼 — 不適於心臟虛弱者。

移植性:接近零。因為這門語言是為一種單獨的處理器設計的,根本沒移植性可言。如果使用了某個特殊處理器的擴展功能,你的代碼甚至無法移植到其他同類型的處理器上(比如,AMD的3DNow指令是無法移植到其它奔騰系列的處理器上的)。

使用匯編編寫的游戲:我不知道有什麼商業游戲是完全用匯編開發的。不過有些游戲使用匯編完成多數對時間要求苛刻的部分。

資料:如果你正在找一門匯編語言的文檔,你主要要找晶元的文檔。網路上如Intel、AMD、Motorola等有一些關於它們的處理器的資料。對於書籍而言,《Assembly Language: Step-By-Step》是很值得學習的。

5、Pascal語言

Pascal語言是由Nicolas Wirth在七十年代早期設計的,因為他對於FORTRAN和COBOL沒有強制訓練學生的結構化編程感到很失望,「空心粉式代碼」變成了規范,而當時的語言又不反對它。Pascal被設計來強行使用結構化編程。最初的Pascal被嚴格設計成教學之用,最終,大量的擁護者促使它闖入了商業編程中。當Borland發布IBM PC上的 Turbo Pascal時,Pascal輝煌一時。集成的編輯器,閃電般的編譯器加上低廉的價格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語言。

然而時日不久,C編譯器變得更快,並具有優秀的內置編輯器和調試器。Pascal在1990年Windows開始流行時走到了盡頭,Borland放棄了Pascal而把目光轉向了為Windows 編寫程序的C++。Turbo Pascal很快被人遺忘。

最後,在1996年,Borland發布了它的「Visual Basic殺手」— Delphi。它是一種快速的帶華麗用戶界面的 Pascal編譯器。由於不懈努力,它很快贏得了一大群愛好者。

基本上,Pascal比C簡單。雖然語法類似,它缺乏很多C有的簡潔操作符。這既是好事又是壞事。雖然很難寫出難以理解的「聰明」代碼,它同時也使得一些低級操作,如位操作變得困難起來。

優點:易學、平台相關的運行(Delphi)非常好。

缺點:「世界潮流」面向對象的Pascal繼承者(Mola、Oberon)尚未成功。語言標准不被編譯器開發者認同。專利權。

移植性:很差。語言的功能由於平台的轉變而轉變,沒有移植性工具包來處理平台相關的功能。

使用Pascal編寫的游戲:幾個。DirectX的Delphi組件使得游戲場所變大了。

資料:查找跟Delphi有關的資料,請訪問:Inprise Delphi page。

6、Visual Basic

哈,BASIC。回到八十年代的石器時代,它是程序初學者的第一個語言。最初的BASIC形式,雖然易於學習,卻是可怕的無組織化,它義無反顧的使用了GOTO充斥的「空心粉式代碼」。當回憶起BASIC的行號和GOSUB命令,沒有幾個人能止住眼角的淚水。

快速前進到九十年代早期,雖然不是蘋果公司所希望的巨人,HyperCard仍然是一個在Windows下無法比擬的吸引人的小型編程環境。Windows下的HyperCard克隆品如ToolBook又慢又笨又昂貴。為了與HyperCard一決高下,微軟取得了一個小巧的名為Thunder編程環境的許可權,並把它作為Visual Basci 1.0發布,其用戶界面在當時非常具有新意。這門語言雖然還叫做Basic(不再是全部大寫),但更加結構化了,行號也被去除。實際上,這門語言與那些內置於TRS-80、Apple II及Atari里的舊的ROM BASIC相比,更像是帶Basic風格動詞的Pascal。

經過六個版本,Visual Basic變得非常漂亮。用戶界面發生了許多變化,但依然保留著「把代碼關聯到用戶界面」的主旨。這使得它在與即時編譯結合時變成了一個快速原型的優異環境。

優點:整潔的編輯環境。易學、即時編譯導致簡單、迅速的原型。大量可用的插件。雖然有第三方的DirectX插件,DirectX 7已准備提供Visual Basic的支持。

缺點:程序很大,而且運行時需要幾個巨大的運行時動態連接庫。雖然表單型和對話框型的程序很容易完成,要編寫好的圖形程序卻比較難。調用Windows的API程序非常笨拙,因為VB的數據結構沒能很好的映射到C中。有OO功能,但卻不是完全的面向對象。專利權。

移植性:非常差。因為Visual Basic是微軟的產品,你自然就被局限在他們實現它的平台上。也就是說,你能得到的選擇是:Windows,Windows或Widnows。當然,有一些工具能將VB程序轉變成java

使用Visual Basic編寫的游戲:一些。有很多使用VB編寫的共享游戲,還有一些是商業性的。

資料:微軟的VB頁面有一些信息。

7、Java

Java是由Sun最初設計用於嵌入程序的可移植性「小C++」。在網頁上運行小程序的想法著實吸引了不少人的目光,於是,這門語言迅速崛起。事實證明,Java不僅僅適於在網頁上內嵌動畫 — 它是一門極好的完全的軟體編程的小語言。「虛擬機」機制、垃圾回收以及沒有指針等使它很容易實現不易崩潰且不會泄漏資源的可靠程序。

雖然不是C++的正式續篇,Java從C++ 中借用了大量的語法。它丟棄了很多C++的復雜功能,從而形成一門緊湊而易學的語言。不像C++,Java強制面向對象編程,要在Java里寫非面向對象的程序就像要在Pascal里寫「空心粉式代碼」一樣困難。

優點:二進制碼可移植到其他平台。程序可以在網頁中運行。內含的類庫非常標准且極其健壯。自動分配合垃圾回收避免程序中資源泄漏。網上數量巨大的代碼常式。

缺點:使用一個「虛擬機」來運行可移植的位元組碼而非本地機器碼,程序將比真正編譯器慢。有很多技術(例如「即時」編譯器)很大的提高了Java的速度,不過速度永遠比不過機器碼方案。早期的功能,如AWT沒經過慎重考慮,雖然被正式廢除,但為了保持向後兼容不得不保留。越高級的技術,造成處理低級的機器功能越困難,Sun為這門語言增加新的「受祝福」功能的速度實在太慢。

移植性:最好的,但仍未達到它本應達到的水平。低級代碼具有非常高的可移植性,但是,很多UI及新功能在某些平台上不穩定。

使用Java編寫的游戲:網頁上有大量小的Applet,但僅有一些是商業性的。有幾個商業游戲使用Java作為內部腳本語言。

資料:Sun的官方Java頁面有一些好的信息。IBM也有一個非常好的Java頁面。JavaLobby是一個關於Java新聞的最好去處。

8、創作工具

上面所提及的編程語言涵蓋了大多數的商業游戲。但是也有一個例外,這個大游戲由於它的缺席而變得突出。

「神秘島」。沒錯,賣得最好的商業游戲不是使用以上任何一門語言編的,雖然有人說「神秘島」99%是使用 3D建模工具製作的,其根本的編程邏輯是在HyperCard里完成的。

多數創作工具有點像Visual Basic,只是它們工作在更高的層次上。大多數工具使用一些拖拉式的流程圖來模擬流程式控制制。很多內置解釋的程序語言,但是這些語言都無法像上面所說的單獨的語言那樣健壯。

優點:快速原型 — 如果你的游戲符合工具製作的主旨,你或許能使你的游戲跑得比使用其他語言快。在很多情況下,你可以創造一個不需要任何代碼的簡單游戲。使用插件程序,如Shockware及IconAuthor播放器,你可以在網頁上發布很多創作工具生成的程序。

缺點:專利權,至於將增加什麼功能,你將受到工具製造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因為有很多事情是那些創作工具無法完成的。某些工具會產生臃腫得可怕的程序。

移植性:因為創作工具是具有專利權的,你的移植性以他們提供的功能息息相關。有些系統,如Director可以在幾種平台上創作和運行,有些工具則在某一平台上創作,在多種平台上運行,還有的是僅能在單一平台上創作和運行。

使用創作工具編寫的游戲:「神秘島」和其他一些同類型的探險游戲。所有的Shockwave游戲都在網路上。

資料:Director、HyperCard、SuperCard、IconAuthor、Authorware。

9、易語言

★全中文支持,無需跨越英語門檻。★全可視化編程,支持所見即所得程序界面設計和程序流程編碼。★中文語句快速錄入。提供多種內嵌專用輸入法,徹底解決中文語句輸入速度慢的問題。★代碼即文檔。自動規范強制代碼格式轉換,任何人編寫的任何程序源代碼格式均統一。★參數引導技術,方便程序語句參數錄入。★無定義類關鍵字。所有程序定義部分均採用表格填表方式,用戶無需記憶此類關鍵字及其使用格式。★命令格式統一。所有程序語句調用格式完全一致。★語法格式自動檢查。自動檢查並提示所輸入語句的語法格式是否正確,且可自動添加各類名稱。★全程提示與幫助。滑鼠停留立即顯示相關項目提示。編程時提示語法格式,調試時提示變數當前內容,隨時按下F1鍵可得到與當前主題相關詳細幫助等。★名稱自動管理。用戶修改任一名稱定義,其它所有包含該名稱的程序代碼均自動修正。★集成化開發環境。集界面設計、代碼編寫、調試分析、編譯打包等於一體。★學習資源豐富。詳細的幫助文件、數十兆的知識庫、數萬用戶的網上論壇、教材已出版發行……

10、結論

你可能希望得到一個關於「我該使用哪種語言」這個問題的更標準的結論。非常不幸,沒有一個對所有應用程序都最佳的解決方案。C適於快而小的程序,但不支持面向對象的編程。C++完全支持面向對象,但是非常復雜。Visual Basic與Delphi易學,但不可移植且有專利權。Java有很多簡潔的功能,但是慢。創作工具可以以最快的速度產生你的程序,但是僅對某一些類型的程序起作用。最好的方法是決定你要寫什麼樣的游戲,並選擇對你的游戲支持最好的語言。「試用三十天」的做法成為工業標準是件好事情。

5. 我想學編程

編程
這是每個游戲編程FAQ里都有的問題。這個問題每星期都會在游戲開發論壇上被問上好幾次。這是個很好的問題,但是,沒人能給出簡單的答案。在某些應用程序中,總有一些計算機語言優於其他語言。下面是幾種用於編寫游戲的主要編程語言的介紹及其優缺點。希望這篇文章能幫助你做出決定。

1、C語言

如果說FORTRAN和COBOL是第一代高級編譯語言,那麼C語言就是它們的孫子輩。C語言是Dennis Ritchie在七十年代創建的,它功能更強大且與ALGOL保持更連續的繼承性,而ALGOL則是COBOL和FORTRAN的結構化繼承者。C語言被設計成一個比它的前輩更精巧、更簡單的版本,它適於編寫系統級的程序,比如操作系統。在此之前,操作系統是使用匯編語言編寫的,而且不可移植。C語言是第一個使得系統級代碼移植成為可能的編程語言。

C語言支持結構化編程,也就是說C的程序被編寫成一些分離的函數呼叫(調用)的集合,這些呼叫是自上而下運行,而不像一個單獨的集成塊的代碼使用GOTO語句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的「空心粉式代碼」代碼要簡單得多。事實上,C仍然具有GOTO語句,不過它的功能被限制了,僅當結構化方案非常復雜時才建議使用。

正由於它的系統編程根源,將C和匯編語言進行結合是相當容易的。函數調用介面非常簡單,而且匯編語言指令還能內嵌到C代碼中,所以,不需要連接獨立的匯編模塊。

優點:有益於編寫小而快的程序。很容易與匯編語言結合。具有很高的標准化,因此其他平台上的各版本非常相似。

缺點:不容易支持面向對象技術。語法有時會非常難以理解,並造成濫用。

移植性:C語言的核心以及ANSI函數調用都具有移植性,但僅限於流程式控制制、內存管理和簡單的文件處理。其他的東西都跟平台有關。比如說,為Windows和Mac開發可移植的程序,用戶界面部分就需要用到與系統相關的函數調用。這一般意味著你必須寫兩次用戶界面代碼,不過還好有一些庫可以減輕工作量。

用C語言編寫的游戲:非常非常多。

資料:C語言的經典著作是《The C Programming Language》,它經過多次修改,已經擴展到最初的三倍大,但它仍然是介紹C的優秀書本。一本極好的教程是《The Waite Group's C Primer Plus》。

2、C++

C++語言是具有面向對象特性的C語言的繼承者。面向對象編程,或稱OOP是結構化編程的下一步。OO程序由對象組成,其中的對象是數據和函數離散集合。有許多可用的對象庫存在,這使得編程簡單得只需要將一些程序「建築材料」堆在一起(至少理論上是這樣)。比如說,有很多的GUI和資料庫的庫實現為對象的集合。

C++總是辯論的主題,尤其是在游戲開發論壇里。有幾項C++的功能,比如虛擬函數,為函數呼叫的決策制定增加了一個額外層次,批評家很快指出C++程序將變得比相同功能的C程序來得大和慢。C++的擁護者則認為,用C寫出與虛擬函數等價的代碼同樣會增加開支。這將是一個還在進行,而且不可能很快得出結論的爭論。

我認為,C++的額外開支只是使用更好的語言的小付出。同樣的爭論發生在六十年代高級程序語言如COBOL和FORTRAN開始取代匯編成為語言所選的時候。批評家正確的指出使用高級語言編寫的程序天生就比手寫的匯編語言來得慢,而且必然如此。而高級語言支持者認為這么點小小的性能損失是值得的,因為COBOL和FORTRAN程序更容易編寫和維護。

優點:組織大型程序時比C語言好得多。很好的支持面向對象機制。通用數據結構,如鏈表和可增長的陣列組成的庫減輕了由於處理低層細節的負擔。

缺點:非常大而復雜。與C語言一樣存在語法濫用問題。比C慢。大多數編譯器沒有把整個語言正確的實現。

移植性:比C語言好多了,但依然不是很樂觀。因為它具有與C語言相同的缺點,大多數可移植性用戶界面庫都使用C++對象實現。

使用C++編寫的游戲:非常非常多。大多數的商業游戲是使用C或C++編寫的。

資料:最新版的《The C++ Programming Language》非常好。作為教程,有兩個陣營,一個假定你知道C,另外一個假定你不知道。到目前為止,最好的C++教程是《Who's Afraid of C++》,如果你已經熟知C,那麼試一下《Teach Yourself C++》。

3、我該學習C++或是該從C開始

我不喜歡這種說法,但它是繼「我該使用哪門語言」之後最經常被問及的問題。很不幸,不存在標准答案。你可以自學C並使用它來寫程序,從而節省一大堆的時間,不過使用這種方法有兩個弊端:

你將錯過那些面向對象的知識,因為它可能在你的游戲中使得數據建模更有效率的東西。

最大的商業游戲,包括第一人稱射擊游戲很多並沒有使用C++。但是,這些程序的作者即使使用老的C的格式,他們通常堅持使用面向對象編程技術。如果你只想學C,至少要自學OO(面向對象)編程技術。OO是模擬(游戲)的完美方法,如果你不學習OO,你將不得不「辛苦」的工作。

4、匯編語言

顯然,匯編是第一個計算機語言。匯編語言實際上是你計算機處理器實際運行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語且有相關的自我說明的語言,這不是你想要的。

確切的說,任何你能在其他語言里做到的事情,匯編都能做,只是不那麼簡單 — 這是當然,就像說你既可以開車到某個地方,也可以走路去,只是難易之分。話雖不錯,但是新技術讓東西變得更易於使用。

總的來說,匯編語言不會在游戲中單獨應用。游戲使用匯編主要是使用它那些能提高性能的零零碎碎的部分。比如說,毀滅戰士整體使用C來編寫,有幾段繪圖程序使用匯編。這些程序每秒鍾要調用數千次,因此,盡可能的簡潔將有助於提高游戲的性能。而從C里調用匯編寫的函數是相當簡單的,因此同時使用兩種語言不成問題。

特別注意:語言的名字叫「匯編」。把匯編語言翻譯成真實的機器碼的工具叫「匯編程序」。把這門語言叫做「匯編程序」這種用詞不當相當普遍,因此,請從這門語言的正確稱呼作為起點出發。

優點:最小、最快的語言。匯編高手能編寫出比任何其他語言能實現的快得多的程序。你將是利用處理器最新功能的第一人,因為你能直接使用它們。

缺點:難學、語法晦澀、堅持效率,造成大量額外代碼 — 不適於心臟虛弱者。

移植性:接近零。因為這門語言是為一種單獨的處理器設計的,根本沒移植性可言。如果使用了某個特殊處理器的擴展功能,你的代碼甚至無法移植到其他同類型的處理器上(比如,AMD的3DNow指令是無法移植到其它奔騰系列的處理器上的)。

使用匯編編寫的游戲:我不知道有什麼商業游戲是完全用匯編開發的。不過有些游戲使用匯編完成多數對時間要求苛刻的部分。

資料:如果你正在找一門匯編語言的文檔,你主要要找晶元的文檔。網路上如Intel、AMD、Motorola等有一些關於它們的處理器的資料。對於書籍而言,《Assembly Language: Step-By-Step》是很值得學習的。

5、Pascal語言

Pascal語言是由Nicolas Wirth在七十年代早期設計的,因為他對於FORTRAN和COBOL沒有強制訓練學生的結構化編程感到很失望,「空心粉式代碼」變成了規范,而當時的語言又不反對它。Pascal被設計來強行使用結構化編程。最初的Pascal被嚴格設計成教學之用,最終,大量的擁護者促使它闖入了商業編程中。當Borland發布IBM PC上的 Turbo Pascal時,Pascal輝煌一時。集成的編輯器,閃電般的編譯器加上低廉的價格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語言。

然而時日不久,C編譯器變得更快,並具有優秀的內置編輯器和調試器。Pascal在1990年Windows開始流行時走到了盡頭,Borland放棄了Pascal而把目光轉向了為Windows 編寫程序的C++。Turbo Pascal很快被人遺忘。

最後,在1996年,Borland發布了它的「Visual Basic殺手」— Delphi。它是一種快速的帶華麗用戶界面的 Pascal編譯器。由於不懈努力,它很快贏得了一大群愛好者。

基本上,Pascal比C簡單。雖然語法類似,它缺乏很多C有的簡潔操作符。這既是好事又是壞事。雖然很難寫出難以理解的「聰明」代碼,它同時也使得一些低級操作,如位操作變得困難起來。

優點:易學、平台相關的運行(Delphi)非常好。

缺點:「世界潮流」面向對象的Pascal繼承者(Mola、Oberon)尚未成功。語言標准不被編譯器開發者認同。專利權。

移植性:很差。語言的功能由於平台的轉變而轉變,沒有移植性工具包來處理平台相關的功能。

使用Pascal編寫的游戲:幾個。DirectX的Delphi組件使得游戲場所變大了。

資料:查找跟Delphi有關的資料,請訪問:Inprise Delphi page。

6、Visual Basic

哈,BASIC。回到八十年代的石器時代,它是程序初學者的第一個語言。最初的BASIC形式,雖然易於學習,卻是可怕的無組織化,它義無反顧的使用了GOTO充斥的「空心粉式代碼」。當回憶起BASIC的行號和GOSUB命令,沒有幾個人能止住眼角的淚水。

快速前進到九十年代早期,雖然不是蘋果公司所希望的巨人,HyperCard仍然是一個在Windows下無法比擬的吸引人的小型編程環境。Windows下的HyperCard克隆品如ToolBook又慢又笨又昂貴。為了與HyperCard一決高下,微軟取得了一個小巧的名為Thunder編程環境的許可權,並把它作為Visual Basci 1.0發布,其用戶界面在當時非常具有新意。這門語言雖然還叫做Basic(不再是全部大寫),但更加結構化了,行號也被去除。實際上,這門語言與那些內置於TRS-80、Apple II及Atari里的舊的ROM BASIC相比,更像是帶Basic風格動詞的Pascal。

經過六個版本,Visual Basic變得非常漂亮。用戶界面發生了許多變化,但依然保留著「把代碼關聯到用戶界面」的主旨。這使得它在與即時編譯結合時變成了一個快速原型的優異環境。

優點:整潔的編輯環境。易學、即時編譯導致簡單、迅速的原型。大量可用的插件。雖然有第三方的DirectX插件,DirectX 7已准備提供Visual Basic的支持。

缺點:程序很大,而且運行時需要幾個巨大的運行時動態連接庫。雖然表單型和對話框型的程序很容易完成,要編寫好的圖形程序卻比較難。調用Windows的API程序非常笨拙,因為VB的數據結構沒能很好的映射到C中。有OO功能,但卻不是完全的面向對象。專利權。

移植性:非常差。因為Visual Basic是微軟的產品,你自然就被局限在他們實現它的平台上。也就是說,你能得到的選擇是:Windows,Windows或Widnows。當然,有一些工具能將VB程序轉變成Java。

使用Visual Basic編寫的游戲:一些。有很多使用VB編寫的共享游戲,還有一些是商業性的。

資料:微軟的VB頁面有一些信息。

7、Java

Java是由Sun最初設計用於嵌入程序的可移植性「小C++」。在網頁上運行小程序的想法著實吸引了不少人的目光,於是,這門語言迅速崛起。事實證明,Java不僅僅適於在網頁上內嵌動畫 — 它是一門極好的完全的軟體編程的小語言。「虛擬機」機制、垃圾回收以及沒有指針等使它很容易實現不易崩潰且不會泄漏資源的可靠程序。

雖然不是C++的正式續篇,Java從C++ 中借用了大量的語法。它丟棄了很多C++的復雜功能,從而形成一門緊湊而易學的語言。不像C++,Java強制面向對象編程,要在Java里寫非面向對象的程序就像要在Pascal里寫「空心粉式代碼」一樣困難。

優點:二進制碼可移植到其他平台。程序可以在網頁中運行。內含的類庫非常標准且極其健壯。自動分配合垃圾回收避免程序中資源泄漏。網上數量巨大的代碼常式。

缺點:使用一個「虛擬機」來運行可移植的位元組碼而非本地機器碼,程序將比真正編譯器慢。有很多技術(例如「即時」編譯器)很大的提高了Java的速度,不過速度永遠比不過機器碼方案。早期的功能,如AWT沒經過慎重考慮,雖然被正式廢除,但為了保持向後兼容不得不保留。越高級的技術,造成處理低級的機器功能越困難,Sun為這門語言增加新的「受祝福」功能的速度實在太慢。

移植性:最好的,但仍未達到它本應達到的水平。低級代碼具有非常高的可移植性,但是,很多UI及新功能在某些平台上不穩定。

使用Java編寫的游戲:網頁上有大量小的Applet,但僅有一些是商業性的。有幾個商業游戲使用Java作為內部腳本語言。

資料:Sun的官方Java頁面有一些好的信息。IBM也有一個非常好的Java頁面。JavaLobby是一個關於Java新聞的最好去處。

8、創作工具

上面所提及的編程語言涵蓋了大多數的商業游戲。但是也有一個例外,這個大游戲由於它的缺席而變得突出。

「神秘島」。沒錯,賣得最好的商業游戲不是使用以上任何一門語言編的,雖然有人說「神秘島」99%是使用 3D建模工具製作的,其根本的編程邏輯是在HyperCard里完成的。

多數創作工具有點像Visual Basic,只是它們工作在更高的層次上。大多數工具使用一些拖拉式的流程圖來模擬流程式控制制。很多內置解釋的程序語言,但是這些語言都無法像上面所說的單獨的語言那樣健壯。

優點:快速原型 — 如果你的游戲符合工具製作的主旨,你或許能使你的游戲跑得比使用其他語言快。在很多情況下,你可以創造一個不需要任何代碼的簡單游戲。使用插件程序,如Shockware及IconAuthor播放器,你可以在網頁上發布很多創作工具生成的程序。

缺點:專利權,至於將增加什麼功能,你將受到工具製造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因為有很多事情是那些創作工具無法完成的。某些工具會產生臃腫得可怕的程序。

移植性:因為創作工具是具有專利權的,你的移植性以他們提供的功能息息相關。有些系統,如Director可以在幾種平台上創作和運行,有些工具則在某一平台上創作,在多種平台上運行,還有的是僅能在單一平台上創作和運行。

使用創作工具編寫的游戲:「神秘島」和其他一些同類型的探險游戲。所有的Shockwave游戲都在網路上。

資料:Director、HyperCard、SuperCard、IconAuthor、Authorware。

9、易語言

★全中文支持,無需跨越英語門檻。★全可視化編程,支持所見即所得程序界面設計和程序流程編碼。★中文語句快速錄入。提供多種內嵌專用輸入法,徹底解決中文語句輸入速度慢的問題。★代碼即文檔。自動規范強制代碼格式轉換,任何人編寫的任何程序源代碼格式均統一。★參數引導技術,方便程序語句參數錄入。★無定義類關鍵字。所有程序定義部分均採用表格填表方式,用戶無需記憶此類關鍵字及其使用格式。★命令格式統一。所有程序語句調用格式完全一致。★語法格式自動檢查。自動檢查並提示所輸入語句的語法格式是否正確,且可自動添加各類名稱。★全程提示與幫助。滑鼠停留立即顯示相關項目提示。編程時提示語法格式,調試時提示變數當前內容,隨時按下F1鍵可得到與當前主題相關詳細幫助等。★名稱自動管理。用戶修改任一名稱定義,其它所有包含該名稱的程序代碼均自動修正。★集成化開發環境。集界面設計、代碼編寫、調試分析、編譯打包等於一體。★學習資源豐富。詳細的幫助文件、數十兆的知識庫、數萬用戶的網上論壇、教材已出版發行……

10、結論

你可能希望得到一個關於「我該使用哪種語言」這個問題的更標準的結論。非常不幸,沒有一個對所有應用程序都最佳的解決方案。C適於快而小的程序,但不支持面向對象的編程。C++完全支持面向對象,但是非常復雜。Visual Basic與Delphi易學,但不可移植且有專利權。Java有很多簡潔的功能,但是慢。創作工具可以以最快的速度產生你的程序,但是僅對某一些類型的程序起作用。最好的方法是決定你要寫什麼樣的游戲,並選擇對你的游戲支持最好的語言。「試用三十天」的做法成為工業標準是件好事情。

6. APP源碼要用什麼工具編譯

sourceinsight是個代碼瀏覽工具,它會自動對你的工程源碼進行語法分析,方便你迅速查找對某個特定符號的引用。它本身不帶編譯器調試器,但是你可以指定要用的編譯器,記得sourceinsight里有這個選項。1、->Removemissingfilefromproject選上可以避免因文件找不到而彈出錯誤對話框。把Misc->Usestricterconfirmationdialog選項去掉可以使確認時不輸入"yes"。2、TypingSourceEditing->Indentcommandsaffect#-preprocessorstatements。去掉後(默認值),進行多行縮進時不會影響預處理語句(如#if#endif)。AutoCompletion->Usedetailedcompletionwindow,選上後,聯想時可以出現該函數的詳細信息。見下圖:(簡單)(詳細)AutoCompletion->Insertparemetersforfunctions,去掉後,自動聯想不會把整個參數都輸出到當前行。BrowsinginLists->Matchsyllableswhiletyping(slower)。在symbollist框檢索符號時是否採用音節匹配方式,如對於函數FindNext,輸入find或者next都可以找到該函數。該功能可能導致反應緩慢(視工程和機器配置而定),建議關閉,因為即使在關閉狀態下也可以通過先輸入空格再輸入單詞來動態啟用該功能。注意BrowsinginLists里其實有兩個功能,但一般我們只能看到Matchsyllableswhiletyping這一條,應該是si的菜單設計沒有做好,導致在中文windows下不能顯示全,另一個功能是Matchmemberswhiletyping,用於打開/關閉按成員變數名來檢索類/結構體的功能。3、FilesOpeningFiles->Sharing:Letotherprogramsmodifyfiles,以共享方式打開文件,這個很重要,保證可以在其它編輯中同時編輯該文件。典型的場景就是用ide環境去動態編譯調試,而用si靜態閱讀。Customize'Open'Command,用於設置Ctrl+O打開的頁面,默認選項是,建議保持默認。SavingFiles->,如果發現保存後就不能undo了,請檢查該選項是否選中。。保存時自動去除每行尾部的空格和tab。建議選中。4、Languages自定義其它編程語言的語法解析,這個還是另寫一篇來講吧。ConditionalParsing不要錯過了,這里的Conditions功能實在讓人喜歡。Conditions是什麼意思呢?我們的代碼中一般都會有一些開關宏,通過在Conditions中配置這些宏的默認值,可以讓si把配置為不開啟的宏視為無效代碼,從而不進行符號檢索。如果源代碼中的開關宏太多,還可以使用ConditionParsing中的ScanFiles來自動找出所有開關宏。5、SymbolLookups沒太多特別的。6、Display顯示配置和個人喜好和顯示器的狀態有關,偶用的x60小本,屏幕資源有限,所以在DisplayElements里把ProjectWindow,StatusBar,ToolBar,ClipWindow都關了,基本用快捷鍵可以代替它們。Options->。很多大師都教導我們說一行不要寫太多代碼。在這個指導思想下,我們不需要這個東東。Showexactcaseoffilenames。如果看不慣si把所有的文件名首字母都大寫就勾上這個選項吧。。SourceLink很多時候用於外部命令輸出結果的解析(如Make,lint),這個功能會把解析結果與目標窗口自動tile,很實用。Trimlongpathnameswithellipses。這個建議不要選中。事實上這個主要影響標題欄,但一般來說標題欄上的空間是充裕的,選上之後往往會令我們不知道所編輯文件的具體位置。

7. 學C++的准備工作!

經過十分漫長的C++學習過程,我總算完成了我自己的C++心願,看完了我想看的所有C++書籍,回
顧我C++的整個學習過程,頗有一些心得和經驗,希望與各位分享,也希望給正處在摸索學習階段的
XDJM一點學習參考。
首先看看我第一次接觸編程語言,唔,那可能要追述上到世紀,在我小學4年紀的時候第一次接觸到
BASIC,那個時候學習這個東西完全是為了要爸爸給我買一台386,沒想到的是,BASIC開啟了我對於計算
機的一切興趣與追求。5年紀的時候參加少年的計算機奧賽,我用BASIC寫的一個彩色立體可旋轉移動的正
方體拿了一個銅牌,從此計算機編程成為了最大的愛好,現在我還保留著源代碼,是保存在一盤普通單放
機的磁帶上的,我估計很少有人用過錄音機和串口的轉換器吧,呵。我用BASIC寫的第二個大程序是給我
媽媽用的財務程序,初中二年紀的時候,我媽媽在單位做出納,我總看到媽媽每天晚上拿個計算機算一堆
表,所以我寫了這個程序幫助媽媽快速完成她的工作,其實我的根本目的是為了一台列印機,因為這個程
序,生成了簡單的報表,她可以直接列印,當然為了這個便利,她必須花錢給我買一台當時還算價值不低
的列印機。不過現在回顧起來,BASIC雖然是我編程的第一位啟蒙老師,但是在我開始C++的學習之後,他
確實使我我思想上產生了很大的困繞,主要是OOP思想,我花費了將近1年多的時間才真正體會到什麼是OO!
到了大學,我才真正開始系統的學習編程。在此之間走過一些歪路,比如高中的時候研究HACKING,
之所以說學習hacking是條歪路,原因很簡單,因為研究到一定的程度,沒有十分穩固的編程基礎,根本
的無法繼續深入學習。中國**聯盟解體前,位列第三的kender給了我這方面很大的打擊,從此我就退出了
,從此對於hacking我就不聞不問,從此看到那些下三爛的貨色也要學hacking,我就感到可笑。第一次接
觸的是C,沒什麼好說的,我C學的不好,因為我大二的時候經商去了,而且我覺得C能做的,我用BASIC都
能做到,為什麼要學C?當然那個時候我成績真是北大的BBS...然後接觸到的就是C++,教材的錢能的
《C++程序設計》,這本書其實還是很不錯的,不過很多看了兩本名著的朋友都對這本書嗤之以鼻,也許是
我天生很笨,在我看完了《C++PRIMER》後還經常番看《C++程序設計》。《C++程序設計》雖然出書的時
候ANSI C++還沒有確定下來,不過它還是含蓋了C++所有語法,建議對C++感興趣卻又沒有任何基礎的人先
從這本書開始,簡單而高效,不要認為人家一上來就看《C++ PRIMER》或是《the c++ programming
language》就覺得自己的檔次很低,你要確信,你肯定能超過他!這本書課後習題在我看來是典型的結構
化編程,即使到了CLASS,也全部可以用STRUCT代替。不過在這個階段做習題十分必要,用處我不想敲了
,推薦使用的編譯器就是書中所說到的編譯器(我忘記叫什麼了:P)看完之後,如果你想說C++很簡單的話
,建議你在看完了《C++ PRIMER》或是《the c++ programming language》之後再說。這兩本書都是基於
標准C++的,十分苛求的說,後者對標準的兼容性稍差:)。對這兩本書,我的看法是,如果你確實想仔細
的學習,建議你看《C++ PRIMER》,如果你想跳過我將要寫到的下面兩本書的話,建議你看
《the c++ programming language》。對這兩本書,前者最高到中文第三版,因為第四版,後者到特別版
。對於前者,我看後的感覺是它的優點在於解析,特別是函數,類,模板的解析,但是它並沒有含蓋C++
的方方面面,後者就不是這樣。實際上我並沒有仔細看過後者,只是同學總是拿這本書上的問題來與我商
量,所以有機會偷窺了幾眼。暫定你選擇的是前者繼續學習,在看完後,也許你用C++編制普通的程序已
經能夠運用自如,但是你仍然應該會有很多問題和遺憾,比如,類繼承,虛擬繼承,類訪問控制,類繼承
下的訪問控制,還有雖然我已經對如何解析十分清楚,但是我仍然感覺我對語法掌握得不系統,遺憾的是
,書中出現了很多的庫函數,我為什麼都不知道?這個時候建議你看看《標准C++寶典》,這本書對於語
法正所謂事無巨細,一一道來啊,再就是回顧一下《C++ 程序設計》(錢能),對類的部分講解的還是十
分精闢的。在掌握了一切牢固的語法基礎之後,我選擇的下一步不是STL,而是IOSTREAM,原因之一是因
為《C++ PRIMER》並沒有把這一部分講述的很好,對了,《C++ PRIMER》也沒有把STL講述的很好,所以
我看《C++ PRIMER》的時候這些章節都跳過了,我的目標是不求知道,只求精通。對於IOSTREAM,我選的
書是《Standard C++ IOStream and Locales》,我當時還是看的E文原版,事實證明,我錯了,這本對於
當時的我,難度突然拔的太高,所以在看完了第一章之後我就放棄了,只是暫時的擱置下來了。對了,忘
記說,對於《C++ PRIMER》或是《the c++ programming language》的學習,你應該十分認真的選擇編譯
器了,我推薦3個首選dev-cpp最高4.9.9.2,然後是vc.net(千萬看清楚,不是vc6.0!),最後就是
borland c++ builder-X,具體我就不介紹了,相信你學習到這一步,自己應該已經掌握很多的信息了.繼
續,下一步,我的選擇是〈深入探索C++對象模型〉,我是在圖書館借閱的,現在也有電子版了,不過我
看了以下,效果一般,但是可以和E文原版的電子版一起看。這本書看完。如果你是跟我一樣,把
《C++ PRIMER》翻爛掉,能把《深入探索C++對象模型》的知識要點全部背出來的話,我恭喜你,你的
C++水平已經到中級了:)接下來,我的選擇是對C++這門語言為我提供的所有服務設施通透的學習一邊。
說穿了,就是庫函數,C++庫函數分兩部分,一部分來自C語言,一部分就是STL,對於C語言部分,我建議
你可以買一本C++函數庫的書,最近好象剛出了一本,不過我還沒有機會看,我看的是〈C和C++代碼精
粹〉,裡面把C語言部分的庫函數分為3類,這本書我也就看了這3個章節,其他的東西我知道,看他做
甚?而對於STL,你如果真想成為C++出類拔萃的高手,你應該看3本<<C++標准程序庫>> <<泛型編程與
STL>> <<STL源碼剖析>>,第一本主要講的是如何使用STL,第二本將STL的一些設計理念,並指導你進
行泛型設計,所謂泛型說穿了就是指模板。看完這些書,如果你跟我一樣,可以把STL全部重寫一邊的
話,那麼恭喜你,你已經成為C++准高手,這個時候我的選擇是回過頭去看《Standard C++ IOStream
and Locales》,呵,現在才發現原來這本書這么簡單!簡直是naive!其實,我現在最想做的事情就是能
夠把IO全部重寫一邊,不過還沒有找到合適的編譯器下手,感覺應該用GCC比較好,還沒開始研究,我也
不清楚。好了,既然這么多本講述C++技術的書籍你都搞完了,也不在乎多兩本吧,呵呵。知道你應該看
什麼嗎?你應該看看<exceotional c++>還有<effective c++>,這兩本書都有more版,不算太難,最後可
以看《高質量C++編程》,最後有一套練習題,做做,小菜一樣。接下來我的選擇是<C++編程思想> 〈設
計模式〉 〈大規模C++程序設計〉(最後一本我最近才看完:P)這3本書可不講什麼語法,第一本實在沒
有必要介紹,似乎每一種語言的編程思想的的書籍都是說的如何用這門語言編程,第二本其實並不能說是
針對C++,所有語言通用的一本書,關鍵是程序設計的方式,第三本被稱為〈設計模式〉的C++實踐篇,其
意義毋庸多說。看完了嗎?好吧,你應該選一個項目鍛煉一下。如果你能在一個月內看完這所有的書,歡
迎你加入ISS_SQL開發團隊,這個就是我近期想做的事情,我就是想寫一個自己的資料庫。不過如果你不
是外星人的話,我估計你不可能在一個月的時間內,看完我看了2年的書。對於我剛才說的SQL,我還在選
人,說實在的,現在我的同學里,真的是沒有幾個人的技術能讓我看的上的,哎,得一知己難啊!還是繼
續說編程,這個時候,你已經有了頂級的C++基礎,想學什麼不容易?JAVA,你學了一個月??開玩笑,
我看了一個星期的書就開始做項目了!其實我覺得到了這個時候是一個面臨選擇的時候,一個是做UNIX下
的開發,一個是做WINDOWS下的,不過我選擇了第三條路,也就是我正在學的,演算法,因為我的導師正在
做973計劃中的數據挖掘項目,所以我也沾光,因為是基與weka,所以我用java,這個B語言真弱智,我已
經開始討厭JAVA了,所以我才想用C++重寫一個WEKA類的開源軟體,不過我感覺用java寫演算法,的確不
錯。前段時間,我一個同學為了一個C#問題苦惱,問題粗略說來是GIS設備返回串,要進行處理,提取數
據,因為串本身的復雜性,具體是怎麼樣的我也不知道,因為他的這個是商業項目。這個問題在C#下十分
困難,連正則表達式都無能為力,所以我給他的建議是寫一個自動機,也不知道他最後的處理方式,不過
在java下,呵,大概不超過五十行代碼吧。說遠了。
最後說說人的問題。有一點點浮躁的人建議你千萬別想學C++,直接學VB或者C#算了,希望在浩方有
個排名的人,我直接告訴你,你不應該學C++。
關於C++的學習,我就說這么多,其實也感覺沒有說什麼,只是把我學習C++看的每一門書都羅列出來
,雖有顯擺之嫌,但也確實希望給那些如曾經的我一樣迷茫的摸索者,那些希望學習C++且追求完美技術
的人指一條明路。

下面的是學C++時要注意的。

1.把C++當成一門新的語言學習(和C沒啥關系!真的。);

2.看《Thinking In C++》,不要看《C++變成死相》;

3.看《The C++ Programming Language》和《Inside The C++ Object

Model》,不要因為他們很難而我們自己是初學者所以就不看;

4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是集成開發環境,而我們要學的是一門語言;

5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;

6.會用Visual C++,並不說明你會C++;

7.學class並不難,template、STL、generic

programming也不過如此——難的是長期堅持實踐和不遺餘力的博覽群書;

8.如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;

9.看Visual C++的書,是學不了C++語言的;

10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?

11.浮躁的人容易問:我到底該學什麼;——別問,學就對了;

12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;

13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!

14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;

15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;

16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;

17.C++不僅僅是支持面向對象的程序設計語言;

18.學習編程最好的方法之一就是閱讀源代碼;

19.在任何時刻都不要認為自己手中的書已經足夠了;

20.請閱讀《The Standard C++ Bible》(中文版:標准C++寶典),掌握C++標准;

21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;

22.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;

23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;

24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;

25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;

26.請看《程序設計實踐》,並嚴格的按照其要求去做;

27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;

28.C++絕不是所謂的C的「擴充」——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯系得那麼緊密;

29.請不要認為學過XX語言再改學C++會有什麼問題——你只不過又在學一門全新的語言而已;

30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;

31.學習編程的秘訣是:編程,編程,再編程;

32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟體構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;

33.記住:面向對象技術不只是C++專有的;

34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;

35.把在書中看到的有意義的例子擴充;

36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;

37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;

38.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;

39.C++語言和C++的集成開發環境要同時學習和掌握;

40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;

41.就讓C++語言的各種平台和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;

42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見43);

43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;

44.決不要因為程序「很小」就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;

45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了;

46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;

47.請不斷地對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;

48.保存好你寫過的所有的程序——那是你最好的積累之一;

49.請不要做浮躁的人;

50.請熱愛C++!

補充:

對c++學習的一點感想,希望對初學者能有些幫助

1.如果你以前從來沒有接觸過c++,那麼選擇的第一本c++教程就顯得尤為重要,我認為你可以參照以下的標准進行選擇:

a.對標准c++進行講解,畢竟c++比從前發生了很大的變化。

b.要求全面,但不要很深,這要有助於你對於c++有一個全面的認識,打好基礎,並且易懂的教材還能加快學習的進度,讓自己保持一種成就感。

c.要有完整的範例來講解每一個知識點如何運用,請注意這里所說的完整,並不是一個個代碼片斷。因為由於你以前從未接觸過用c++進行編程,完整的代碼可以使你有一個整體的概念,並且能夠很快去進行大量的實踐,因為變編程是從模仿開始,完整的代碼恰恰告訴你了一個完整的步驟。不必自己去揣測。

d.推薦:《c++ primer plus》

2.當你有了一定的基礎以後,就要選擇一些書來迅速提高自己。這類書的特點是不僅僅教你如何去運用,而且要叫你如何去思考,並且你讀起來也不是那麼輕松。它意味深遠,並不是你讀一遍就能掌握的。

推薦:《thinking in c++》《effective c++》《more effective c++》

《c++ programming language》...《c++ 沉思錄》

3.接下來就是對第二步所介紹的書籍進行反復的閱讀,並且進行實踐。由於這些書一位深遠,每個人基於自己的基礎都會有不同的收獲,例如如果你的基礎還沒有達到某一高度,那麼你就對一些精深的技術視而不見,不信?你可以試試,看看當自己有了一定提高之後再來讀從前的一本書,你會發現許多新的東西。

8. 怎麼配置source insight使得可以編譯C語言程序

source insight是個代碼瀏覽工具,
它會自動對你的工程源碼進行語法分析,
方便你迅速查找對某個特定符號的引用。它本身不帶編譯器調試器,但是你可以指定要用的編譯器,記得source insight里有這個選項。
1、General
Project File Synchronization->Remove missing file from project選上可以避免因文件找不到而彈出錯誤對話框。
把Misc->Use stricter confirmation dialog選項去掉可以使確認時不輸入"yes"。

2、Typing
Source Editing->Indent commands affect #-preprocessor statements。去掉後(默認值),進行多行縮進時不會影響預處理語句(如#if...#endif)。
Auto Completion->Use detailed completion window,選上後,聯想時可以出現該函數的詳細信息。見下圖:
(簡單)
(詳細)

Auto Completion->Insert paremeters for functions,去掉後,自動聯想不會把整個參數都輸出到當前行。
Browsing in Lists->Match syllables while typing(slower)。在symbol list框檢索符號時是否採用音節匹配方式,如對於函數FindNext,輸入find或者next都可以找到該函數。該功能可能導致反應緩慢(視工程和機器配置而定),建議關閉,因為即使在關閉狀態下也可以通過先輸入空格再輸入單詞來動態啟用該功能。
注意Browsing in Lists里其實有兩個功能,但一般我們只能看到Match syllables while typing這一條,應該是si的菜單設計沒有做好,導致在中文windows下不能顯示全,另一個功能是Match members while typing,用於打開/關閉按成員變數名來檢索類/結構體的功能。

3、Files
Opening Files->Sharing: Let other programs modify files,以共享方式打開文件,這個很重要,保證可以在其它編輯中同時編輯該文件。典型的場景就是用ide環境去動態編譯調試,而用si靜態閱讀。
Customize 'Open' Command...,用於設置Ctrl+O打開的頁面,默認選項是 Project File list view in Project Window,建議保持默認。
Saving Files->Preserve Undo data and revision marks after saving,如果發現保存後就不能undo了,請檢查該選項是否選中。
Remove extra white space when saving。保存時自動去除每行尾部的空格和tab。建議選中。

4、Languages
自定義其它編程語言的語法解析,這個...還是另寫一篇來講吧。
Conditional Parsing不要錯過了,這里的Conditions功能實在讓人喜歡。Conditions是什麼意思呢?我們的代碼中一般都會有一些開關宏,通過在Conditions中配置這些宏的默認值,可以讓si把配置為不開啟的宏視為無效代碼,從而不進行符號檢索。
如果源代碼中的開關宏太多,還可以使用Condition Parsing中的Scan Files來自動找出所有開關宏。

5、Symbol Lookups
沒太多特別的。

6、Display
顯示配置和個人喜好和顯示器的狀態有關,偶用的x60小本,屏幕資源有限,所以在Display Elements里把Project Window, Status Bar, Tool Bar,Clip Window都關了,基本用快捷鍵可以代替它們。
Options->Horizontal scroll bars for each new window。很多大師都教導我們說一行不要寫太多代碼。在這個指導思想下,我們不需要這個東東。
Show exact case of file names。如果看不慣si把所有的文件名首字母都大寫就勾上這個選項吧。
Tile source and destination windows for Source Link commands。Source Link很多時候用於外部命令輸出結果的解析(如Make, lint),這個功能會把解析結果與目標窗口自動tile,很實用。
Trim long path names with ellipses。這個建議不要選中。事實上這個主要影響標題欄,但一般來說標題欄上的空間是充裕的,選上之後往往會令我們不知道所編輯文件的具體位置。

9. 學習編程的過程中可能會走哪些彎路,有哪些

第一、盯住一個問題牢牢不放

不搞定這個問題,絕不向下走,一股子不到長城非好漢的決心。有這么強大的毅力學習是好事,但這也是大多數初學者容易走的彎路,學習之初應該先了解大致的概念,上來就尋根究底,會讓自己變得疲憊不堪。

因為初學者小白開始很難具備強大的基礎,很難把每個知識點都吃的相當透徹,所以開始學習的時候,先了解基本的方向和思路,掌握一些概念或工具如何使用,等你慢慢的掌握了編程語言的整個套路,之前遇到的問題也就迎刃而解了。

第二、選擇語言朝三暮四,不堅定

在學習基礎語言時,一直懷疑所學語言是不是能找到工作,中間換了幾種語言。初學小白經常問的一句話「學某某語言,能不能找到工作」,這是一個辯證問題,其實任何一門編程語言,甚至任何一項技術,只要還活著,那麼必然有存在非的必要性,只要你可以精通的掌握,就不愁找不到工作。

編程語言和語言沒啥大的區別,學會了任何一門再去學習別的語言都會輕松很多,編程思路各個語言都是相通的。既然已經花了很多時間在一種語言上學習,就索性學習到底,徹底了解這門語言的屬性,學好一門了,不要半途而廢,不要中途更換學習的語言種類。

第三:能寫出大量的代碼,但是不知道如何調試,每次解決一個小細節點需要花費大量的時間。

經常有小夥伴直接在聯盟的群里,粘貼了一堆代碼讓大家幫著找問題,一般這種情況下,大家很難有這么多的時間和耐心幫著去分析問題,因為編程語言的變化形式太多,組合方式也是層出不窮,大段的代碼很難一眼就找到問題所在。這個時候就需要寫代碼的人具備debug調試能力,因為在工作中遇到的代碼比平常練習的代碼復雜程度要多太多,這種情況下很難通過看直接找到問題的根結所在,就需要通過一種手段不斷的思考問題出在哪,怎麼去解決。基本上能具備完善的調試能力的小夥伴,理論上能獨立完成一些小項目的調試,慢慢在向真正的軟體工程師邁進了。

第四:視頻看的很懂,但是代碼能力很差

現在在線視頻教程多如牛毛,學習起來比10年前只靠看書方便了太多,很多小夥伴看視頻的時候對於裡面代碼的一些含義都能了解的很徹底,一旦脫離了視頻獨立寫程序的時候,覺得無從下手,典型的實踐操作太少,看視頻學習編程這個方法沒啥問題,但是需要在看的時候,把裡面對應的代碼在自己的編譯器上都敲很多遍,視頻講的再好也只是別人咀嚼好的,看起來很美,但是需要自己在電腦上大量的實踐,才能轉化為自己的東西,才能納入自己的知識體系中。

10. 該如何學編程

問這個問題的原因是,我認為學校的計算機科學基礎課很重要。如果你所在學校的課程設置合理,那你應該先把主要精力花在這些基礎課上。很多學生看到基礎理論就茫然,不知道這些圖表,符號,甚至硬體的知識對將來的軟體開發有什麼用。用處大得很哪。比如,操作系統課里講到的多線程的東西在系統編程里很有用。又比如,盡管你將來不會去涉及電腦的硬體,計算機架構里的知識對分析演算法的性能(快慢等等)很有用。可以把計算機語言和開發工具比作文字,而把計算機科學的知識比做思想。只有思想,不會行文,不行;但是,行文流暢,思想空洞,也不行。大學的階段正是打好基礎,豐富思想的年代。

成為一名好的程序員,不是簡單地通過學幾門課程就能做到的。我個人認為成為一名好的程序員的要素有:
1。扎實的基礎知識;

2。很強的解決問題的能力;

3。熟練的編程調試能力;

4。創新能力;

5。團隊合作能力;

6。持續的自學能力;

7。好奇心

這些能力和品質(甚至可以說是習慣)都應該從大學階段就著手培養,並且從身邊的小事開始培養。比如,很多中國的大學畢業生都缺乏編程和調試經驗。學習C語言,考試過關就算學會了。課題項目中,只要程序能夠編譯,運行,並且輸入輸出滿足要求就了事了。但是,寫程序的時候是否想過如何把程序寫得更加精煉,高效,高質量?對程序調試中出現的問題是否刨根問底知道原因,還是不求甚解搪塞過去算數?還有,很多中國的大學畢業生對於知識的掌握膚淺,機械,沒有好奇心,不會刨根問底。比如,學會了C++,有沒有看過一個object在編譯後,在匯編代碼中是如何被初始化的?這個object的各個成員在內存中是如何放的?在一個成員函數被調用的時候編譯器在匯編代碼中加入了哪些額外的動作?虛函數的調用是如何實現的? 這些東西恐怕在編程語言或編譯原理中都沒有詳細提到。但是,你是否有過好奇心去知道?最後,一些中國學生的大問題就是死記硬背,沒有學到某種演算法技術的根本原理,沒有應變和創新的能力。比如,有個問題是如何在不用額外內存的情況下把一棵樹的同一層節點都連起來。很多學生都能夠回答這是一個廣度遍歷的問題。但是,課本上說了廣度遍歷是一定要有額外數據結構輔助的(隊列)。所以,不給額外內存怎麼行?請看,課本上說的用隊列的方法記住了,但是就是不知道為什麼要用隊列。如果深刻掌握了這個隊列的作用,那麼這個問題是很容易的。

編程語言其實是一個很初級的工具,但是你又必須熟練的掌握它,學懂一門編程語言就好像學會了寫字,但是會寫字的人不見得會寫文章,而會寫文章又不見的寫得好。可是如果你不會寫字,那就一定寫不出文章來。

首先,在學習C語言之前,應該學好計算機基礎。裡面的很多概念對於C程序員都是非常重要的。如果你在著手學習C之前,或者已經開始學習C,但是碰到了很多問題,應該再把計算機基礎的書拿來好好看看。

如果你有足夠的耐心,十足的毅力,應該再學習C語言之前學學匯編,這會讓你對許多比較細膩的概念有清醒的認識,如果你不是那麼有耐心(恕我直言,大部分人可能沒有)。那麼可以在看完一遍C語言的教材後再看,但是一定要看一遍,相信我一定會受益匪淺。

看到有些人發問的帖子,很明顯的沒有仔細的思考過問題,或者沒有認真地查閱過書籍,因為其中的語法和邏輯錯誤實在是不能理解。想來如果你的語文作業上面滿篇都是錯字,老師一定不會放過你。為什麼不先打好基礎呢?有些人抱怨說因為教材不好,老師水平不行等等。但是我本人就是在TC2下學習C語言的,那時候除了譚浩強的書,也幾乎找不到什麼別的書。我不打算就譚浩強的書發表什麼意見,那也實在稱不上是一本好書,但是如果這本是能學好,全部看好,都記住,也應該有相當的水平了。建議不管看什麼書,先認真地看懂,不要貪速度,應該力求深入的理解。

如果你能夠比較熟練的解決一本教材上的所有習題,那麼就應該轉入對演算法的學習,盡管此時你的C語言還稱不上精通,有許多細節問題還不了解,許多問題還沒有碰到,但是這些問題會在後面的工作和學習中得到解決的。

過去,有個著名的公式,大概是:程序=語言+演算法+數據,不知道現在還提不提這個了。可能現在要加上更多的內容:項目管理、質量控制、代碼規范…………。但是這個公式還是有相當的參考價值,還是用寫文章來類比,語言好比文字,演算法是文章的思想,數據是文章的內容。所以在經過一個階段的識字之後,應該試著發表一下自己的思想了。

經過一段零零散散的演算法學習,對「演算法」這兩個字有了概念之後,應該系統地對演算法進行學習,這個過程是與數據結合在一起的,應該看看數據結構,而且必須熟練的掌握。在這里提到的一本書是《運籌學》,裡面的演算法大都可以用計算機實現,我推薦這本書的原因在於,它不僅介紹了特定問題的演算法,而且詳細解釋了為什麼要這樣算,怎麼得出這個演算法的,等等。對於提高思考問題的能力有很大幫助。
如果你的精力和時間允許,現在就應該開始大量的閱讀和編寫代碼了,兩者同樣重要。「讀書破萬卷,下筆如有神」,盡管這種學習方法效率較低,而且很枯燥,但是應該看到,古代的這種教育方式培養了千古文豪,而現在的語文教育培養出來的…………(唉,中小學語文教育的現狀大家都知道,我就是受害者)。讀代碼確實是一件非常辛苦的事情,我曾經試圖閱讀全部的Linux內核原代碼,最後只看了不到十分之一,而其中看懂領會的,也就一半而已,但還是感到有很大幫助。至於大量編寫代碼,理由很簡單:實踐性的技術要在實踐中提高。但是要注意,如果你已經學完了C語言和數據結構(而且學得不錯),那就不應該專注於那些小程序了,那根本就是在浪費時間,此時應該編寫有些規模的,具有一定實用性的程序。並在這個過程中開始領會軟體工程的一些思想。第一個寫出來的程序一定是錯誤百出,一點點地修改,一點點地調試,一定會通過的。對於寫代碼,說一個我本人的經歷,我第一遍看譚浩強的那本書,看到條件分支的時候,突然很興奮,想要寫點什麼,於是看了一些TC2的幫助,懂得了圖形編程,就自己寫了一個水果賭盤的游戲,可能有人在游戲廳見過,就是可以壓什麼蘋果橙子之類的。各位可以想像一下,當時我還不會數組,不知道循環,於是所有的這類東西都是用goto來完成的,這個歷史上最蹩腳的程序居然也正常運行了,後來我發現原來可以使用循環,於是將這段代碼替換掉,學到數組的時候,終於將那些小燈在屏上的位置放到了數組里,學到文件的時候,將圖形放進了二進制文件(原本都是一條線、一個點畫出來的),記不得經過了多少次修改,總之程序能運行之後,長度從2700行變成了127行。所以,想學好編程是要有點毅力的。

最後發表一下先學習C還是先學習C++的問題,這個問題見仁見智,我的意見是,先學習C。

盡管現在我很少用C了,但是C語言確實更加基礎,一個C++的高手要考慮的一些問題(比如內存的操作方面的問題),C語言的初學者可能就必須有所了解,否則會犯錯誤。這些只是遲早是要掌握的,但是因為C++關注更高層的概念,所以在學習C++的過程中這些問題可能被忽略了,以至於有人用了一兩年C++,還是有些問題不是很清楚。另一個主要的原因是:C++太優秀了,而C++的程序員會在某種程度上感覺自己比C程序員高明(他們確實有理由這樣),於是學完C++之後你可能就不屑於學習C所關注的內容,這樣的話會錯過提高的很好機會。

想成為一位好程序員(其實從事任何一個行業都是如此),重要的是要養成一個鑽研,好奇,創新,動手,合作,不滿足於填鴨,不滿足於考試交差,不滿足於表象的一種優秀的習慣。這不是學幾門課能夠一蹴而就的。當然,如果你的在校課程不能使你滿足,論壇上的朋友可能能夠給你推薦一些書或科目。

最後,不能只學語言。許多大學生認為學最新的計算機語言、技術、標準是最好的鋪路方法,因為許多公司招聘時要求這些方面的經驗。這些新技術雖然該學,但是學習計算機基礎課程更重要,因為計算機語言和開發平台日新月異,但是萬變不離其宗的就是那些基礎課程:數據結構、演算法、編譯原理、計算機組成、關系型資料庫原理等。有位同學生動地在「開復學生網」上把這些基礎課程比擬為內功,把新的語言、技術、標准比擬為外功。只追尋時髦的學生最後只懂招式,沒有功力,是不可能成為高手的。

不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是集成開發環境,而我們要學的是一門語言;

不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;

會用Visual C++,並不說明你會C++;

學class並不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺餘力的博覽群書;

如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;

看Visual C++的書,是學不了C++語言的;

把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;

看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;

別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;

不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;

和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;

請看《程序設計實踐》,並嚴格的按照其要求去做;

不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;

學習編程的秘訣是:編程,編程,再編程;

記住:面向對象技術不只是C++專有的;

請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;

把在書中看到的有意義的例子擴充;

請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;

經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;

不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;

C++語言和C++的集成開發環境要同時學習和掌握;

就讓C++語言的各種平台和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主

當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫

別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;

每學到一個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了;

請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100. XX;

保存好你寫過的所有的程序——那是你最好的積累之一;

浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?

浮躁的人容易問:我到底該學什麼;——別問,學就對了;

浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;

浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!

浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;

浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;

請不要做浮躁的人;

閱讀全文

與別錯過編譯相關的資料

熱點內容
gcc編譯手冊pdf 瀏覽:584
梁箍筋未標注加密區 瀏覽:627
自家網路連不上上面顯示加密 瀏覽:386
編譯後無法運行圖片 瀏覽:592
linux系統修改文件命令 瀏覽:702
iphone如何安裝中國石化app 瀏覽:176
app怎麼寫簡歷 瀏覽:680
金蝶kis雲app怎麼樣 瀏覽:708
cad命令xr 瀏覽:296
f如何設置ftp伺服器 瀏覽:833
編程題兔子生兔子python 瀏覽:421
加密數字卡專利申請 瀏覽:783
我的世界命令方塊該怎麼拿 瀏覽:785
浙江容錯伺服器廠家雲空間 瀏覽:196
linuxpython3idle 瀏覽:741
程序員成就感從哪來 瀏覽:547
游資抄底源碼公式 瀏覽:804
用VF命令 瀏覽:950
解壓速度14m 瀏覽:332
php獲取httpheader 瀏覽:301