<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言:使用IDE之前需要了解的概念

            時間:2025-04-25 08:44:49 C語言 我要投稿
            • 相關推薦

            C語言:使用IDE之前需要了解的概念

              使用 IDE 的過程中會涉及到一些與編程有關的概念,這些概念如果不提前了解,即使能夠運行出程序來,也是霧里看花,知其然不知其所以然。歡迎大家閱讀!更多相關信息請關注相關欄目!

              1) 源文件(Source File)

              在開發軟件的過程中,我們需要將編寫好的代碼(Code)保存到一個文件中,這樣代碼才不會丟失,才能夠被編譯器找到,才能最終變成可執行文件。這種用來保存代碼的文件就叫做源文件(Source File)。

              每種編程語言的源文件都有特定的后綴,以方便被編譯器識別;源文件后綴大都根據編程語言本身的名字來命名,例如C語言源文件的后綴是.c,C++ 源文件的后綴是.cpp,Java 源文件的后綴是.java,Python 源文件的后綴是.py。

              源文件其實就是純文本文件,它的內部并沒有特殊格式,能證明這一結論的典型例子是:在 Windows 下用記事本程序新建一個文本文檔,并命名為demo.txt,輸入一段C語言代碼并保存,然后將該文件強制重命名為demo.c(后綴從.txt變成了.c),發現編譯器依然能夠正確識別其中的C語言代碼,并順利生成可執行文件。

              源文件的后綴僅僅是為了表明該文件中保存的是某種語言的代碼(例如.c文件中保存的是C語言代碼),這樣程序員更加容易區分,編譯器也更加容易識別,它并不會導致該文件的內部格式發生改變。

              C++ 是在C語言的基礎上進行的擴展,C++ 包含了C語言的全部內容(請猛擊《C和C++到底有什么關系》一文了解更多),將C語言代碼放在.cpp文件中不會有錯,很多初學者都是這么做的,很多大學老師也是這么教的。但是,我還是強烈建議將C語言代碼放在.c文件中,這樣能夠更加嚴格地遵循C語言的語法,也能夠更加清晰地了解C語言和C++的區別。

              2) 工程/項目(Project)

              一個真正的程序(也可以說軟件)往往包含多項功能,每一項功能都需要幾十行甚至幾千行、幾萬行的代碼來實現,如果我們將這些代碼都放到一個源文件中,那將會讓人崩潰,不但源文件打開速度極慢,代碼的編寫和維護也將變得非常困難。

              在實際開發中,程序員都是將這些代碼分門別類地放到多個源文件中。除了這些成千上萬行的代碼,一個程序往往還要包含圖片、視頻、音頻、控件、庫(也可以說框架)等其它資源,它們也都是一個一個地文件。

              為了有效地管理這些種類繁雜、數目眾多的文件,我們有理由把它們都放到一個目錄(文件夾)下,并且這個目錄下只存放與當前程序有關的資源。實際上 IDE 也是這么做的,它會為每一個程序都創建一個專門的目錄,將用到的所有文件都集中到這個目錄下,并對它們進行便捷的管理,比如重命名、刪除文件、編輯文件等。

              這個為當前程序配備的專用文件夾,在 IDE 中也有一個專門的稱呼,叫做“Project”,翻譯過來就是“工程”或者“項目”。在 VC 6.0 下,這叫做一個“工程”,而在 VS 下,這又叫做一個“項目”,它們只是單詞“Project”的不同翻譯而已,實際上是一個概念。

              3) 工程類型/項目類型

              “程序”是一個比較寬泛的稱呼,它可以細分為很多種類,例如:

              有的程序不帶界面,完全是“黑屏”的,只能輸入一些字符或者命令,稱為控制臺程序(Console Application),例如 Windows 下的 cmd.exe,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語言:使用IDE之前需要了解的概念】相關文章:

            使用IDE之前需要了解的一些概念12-18

            C語言指針的概念02-25

            C語言的文件概念07-18

            C語言編譯器和IDE選擇05-27

            c語言入門:用qt實現簡單IDE12-08

            C語言編譯器和IDE的選擇06-30

            C語言指針數組的概念07-19

            C語言的內存使用03-06

            C語言變量的使用03-30

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院