<ruby id="bdb3f"></ruby>

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

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                C源代碼 預處理---->把所有的宏定義全部替換等。 編 譯------>形成目標代碼。 鏈 接------>將目標代碼與C函數庫相連接。 執 行------>運行C程序。 再詳細講這四步之前,我先來強調一下,它們不是單獨的四步,而是兩步!!!! 第一步:**預處理完成的源代碼======>多個單獨的目標代碼。** 第二步:**多個單獨的目標代碼======>和庫,啟動,終止這三部分鏈接** 第三步:可執行文件就誕生了。。。。。。 嘿嘿。小明又來說廢話了。。 **小明:**細胞也是分的兩步,轉錄和翻譯。我是不是可以類比一下? **蝌蚪哥**:什么叫類比,明明就模仿的好吧。信使mRNA去轉錄的DNA鏈,接著反密碼子tRNA帶著特定的氨基酸來到鏈上,合成肽鏈。 ![](https://box.kancloud.cn/2015-11-12_56448354c4e4b.png) 在mRNA鏈的開始,會有啟動密碼子,在末尾有終止密碼子。這樣tRNA就知道如何開始,何時終止。而它的合成過程,就是線性的過程。 **小明**:既然你說程序是模仿的,那詳細說一下程序是如何模仿的吧。 **蝌蚪哥**:想要理解程序是怎么跑起來的,必須理解一個很重要的概念:**程序是像水一樣流動的,建立在線性基礎之上的**。 “初探c語言底層”中講到:c語言是建立在內存單元上的。那么程序也是按照內存單元的地址,從首地址一直執行到末地址的。這是無法改變的。如果你寫的程序大了的話,你就會把代碼打包成多個.c文件,然而多個.c文件也都是基于同一個main()函數運行的。 main()函數是操作系統連接程序的入口。 一個鏈接后的程序應該是這個樣子: #### 啟動代碼(操作系統分配) #### main()(自己編寫的多個目標代碼+庫函數+操作系統的動態庫) #### 終止代碼(操作系統分配) 鏈接就是把上面各個“密碼子”連成程序鏈。。最后從始至終。 例子: a.c文件代碼: \#include"stdio.h" \#include"b.h" int main(){ printf("aa"); } b.h文件代碼: \#include"b.c" b.c文件代碼: int a; 最終獲得了a.c, b.c, b.h,(實際上編譯的時候還有stdio.h和stdio.c這2個文件。) 這5個文件經過預處理和編譯所生成的目標代碼。。和下面這個文件生成的目標代碼是一樣的。 a1.c文件代碼: \#include"stdio.h" int a; int main(){ printf("aa"); } 因為鏈接在了一起,就相當于一個完整的文件。最后加上啟動和終止這兩段代碼。。這個a.out或a1.out就跑起來了。 留給各位一個問題:a1.out大小和a1.c的大小和a1.out跑起來時a1.exe的大小(從windows的任務管理器中查看) 三者有什么關系?
                  <ruby id="bdb3f"></ruby>

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

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看