C語言:使用IDE之前需要了解的概念
使用 IDE 的過程中會涉及到一些與編程有關的概念,這些概念如果不提前瞭解,即使能夠運行出程序來,也是霧裏看花,知其然不知其所以然。歡迎大家閲讀!更多相關信息請關注相關欄目!
1) 源文件(Source File)
在開發軟件的過程中,我們需要將編寫好的代碼(Code)保存到一個文件中,這樣代碼才不會丟失,才能夠被編譯器找到,才能最終變成可執行文件。這種用來保存代碼的文件就叫做源文件(Source File)。
每種編程語言的源文件都有特定的後綴,以方便被編譯器識別;源文件後綴大都根據編程語言本身的名字來命名,例如C語言源文件的後綴是.c,C++ 源文件的後綴是,Java 源文件的後綴是,Python 源文件的後綴是。
源文件其實就是純文本文件,它的內部並沒有特殊格式,能證明這一結論的典型例子是:在 Windows 下用記事本程序新建一個文本文檔,並命名為,輸入一段C語言代碼並保存,然後將該文件強制重命名為demo.c(後綴從變成了.c),發現編譯器依然能夠正確識別其中的C語言代碼,並順利生成可執行文件。
源文件的後綴僅僅是為了表明該文件中保存的是某種語言的代碼(例如.c文件中保存的是C語言代碼),這樣程序員更加容易區分,編譯器也更加容易識別,它並不會導致該文件的內部格式發生改變。
C++ 是在C語言的基礎上進行的擴展,C++ 包含了C語言的全部內容(請猛擊《C和C++到底有什麼關係》一文了解更多),將C語言代碼放在文件中不會有錯,很多初學者都是這麼做的,很多大學老師也是這麼教的。但是,我還是強烈建議將C語言代碼放在.c文件中,這樣能夠更加嚴格地遵循C語言的語法,也能夠更加清晰地瞭解C語言和C++的區別。
2) 工程/項目(Project)
一個真正的程序(也可以説軟件)往往包含多項功能,每一項功能都需要幾十行甚至幾千行、幾萬行的代碼來實現,如果我們將這些代碼都放到一個源文件中,那將會讓人崩潰,不但源文件打開速度極慢,代碼的編寫和維護也將變得非常困難。
在實際開發中,程序員都是將這些代碼分門別類地放到多個源文件中。除了這些成千上萬行的代碼,一個程序往往還要包含圖片、視頻、音頻、控件、庫(也可以説框架)等其它資源,它們也都是一個一個地文件。
為了有效地管理這些種類繁雜、數目眾多的文件,我們有理由把它們都放到一個目錄(文件夾)下,並且這個目錄下只存放與當前程序有關的資源。實際上 IDE 也是這麼做的,它會為每一個程序都創建一個專門的目錄,將用到的所有文件都集中到這個目錄下,並對它們進行便捷的管理,比如重命名、刪除文件、編輯文件等。
這個為當前程序配備的專用文件夾,在 IDE 中也有一個專門的稱呼,叫做“Project”,翻譯過來就是“工程”或者“項目”。在 VC 6.0 下,這叫做一個“工程”,而在 VS 下,這又叫做一個“項目”,它們只是單詞“Project”的不同翻譯而已,實際上是一個概念。
3) 工程類型/項目類型
“程序”是一個比較寬泛的稱呼,它可以細分為很多種類,例如:
有的程序不帶界面,完全是“黑屏”的,只能輸入一些字符或者命令,稱為控制枱程序(Console Application),例如 Windows 下的 ,Linux 或 Mac OS 下的終端(Terminal)。
有的程序帶界面,看起來很漂亮,能夠使用鼠標點擊,稱為GUI程序(Graphical User Interface Program),例如 QQ、迅雷、Chrome 等。
有的程序不單獨出現,而是作為其它程序的.一個組成部分,普通用户很難接觸到它們,例如靜態庫、動態庫等。
不同的程序對應不同的工程類型(項目類型),使用 IDE 時必須選擇正確的工程類型才能創建出我們想要的程序。換句話説,IDE 包含了多種工程類型,不同的工程類型會創建出不同的程序。
不同的工程類型本質上是對 IDE 中各個參數的不同設置;我們也可以創建一個空白的工程類型,然後自己去設置各種參數(不過一般不這樣做)。
控制枱程序對應的工程類型為“Win32控制枱程序(Win32 Console Application)”,GUI程序對應的工程類型為“Win32程序(Win32 Application)”。
控制枱程序是 DOS 時代的產物了,它沒有複雜的功能,沒有漂亮的界面,只能看到一些文字,雖然枯燥無趣,也不實用,但是它非常簡單,不受界面的干擾,所以適合入門,我強烈建議初學者從控制枱程序學起。等大家對編程掌握的比較熟練了,能編寫上百行的代碼了,再慢慢過渡到GUI程序。
4) 鏈接(Link)
上節我們講到,源代碼經過編譯(Compile)後就變成了可執行文件,其實這種説法有點籠統,甚至從嚴格意義上來講是錯誤的。源代碼要經過編譯(Compile)和鏈接(Link)兩個過程才能變成可執行文件。
編譯器一次只能編譯一個源文件,如果當前程序包含了多個源文件,那麼就需要編譯多次。編譯器每次編譯的結果是產生一箇中間文件(可以認為是一種臨時文件),而不是最終的可執行文件。中間文件已經非常接近可執行文件了,它們都是二進制格式,內部結構也非常相似。
將當前程序的所有中間文件以及系統庫(暫時可以理解為系統中的一些組件)組合在一起,才能形成最終的可執行文件,這個組合的過程就叫做鏈接(Link)。完成鏈接功能的軟件叫做鏈接器(Linker)。
如果程序只包含了一個源文件,是不是就不需要鏈接了呢?不是的!
經過編譯後程序雖然只有一箇中間文件,不再需要和其它的中間文件組合了,但是這個唯一的中間文件還需要和系統庫組合,這個過程也是鏈接。也就是説,不管有多少個源文件,都必須經過編譯和鏈接兩個過程才能生成可執行文件。
-
C語言基礎循環結構
引導語:循環結構可以減少源程序重複書寫的工作量,用來描述重複執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構。以下是本站小編分享給大家的C語言循環結構,歡迎閲讀學習!1.1for循環結構循環語句的一般表達式是:for(表達式1;表達式2;表達式3)語句2....
-
瞭解什麼是編程語言
學習編程語言之前,首先要搞清楚“編程語言”這個概念。下面一起來看看!很小的時候,父母就教我們開口説話,也教我們如何理解別人講話的意思。經過長時間的薰陶和自我學習,我們竟然在不知不覺中學會了説話,同時也能聽懂其他小朋友説話的意思了,我們開始向父母要零花錢...
-
C語言合併排序及實例代碼
歸併排序也稱合併排序,其算法思想是將待排序序列分為兩部分,依次對分得的兩個部分再次使用歸併排序,之後再對其進行合併。下面是小編分享的C語言合併排序及實例代碼,一起來看一下吧。合併排序僅從算法思想上了解歸併排序會覺得很抽象,接下來就以對序列A[0],A[l]…,A...
-
win8系統安裝c語言方法
在win8/win8.1中C語言VC無法運行,那麼win8系統安裝c語言方法又變成了什麼呢?而現在的'計算機都是預裝win8/8.1系統,對於比較原始的TurboC是無法運行的,現在應屆畢業生小編向大家告訴大家win8系統運行TurboC軟件的方法。win8系統安裝c語言方法:win8系統運行TurboC...