<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 電腦安全 > 系統安全 > gcc如何編譯C語言程序

        gcc如何編譯C語言程序

        時間: 林澤1002 分享

        gcc如何編譯C語言程序

          gcc編譯C語言程序的方法是什么,那么gcc如何編譯C語言程序的呢/下面是學習啦小編收集整理的gcc如何編譯C語言程序,希望對大家有幫助~~

          gcc編譯C語言程序的方法

          編寫c代碼,并輸入以下代碼,生成文件hello.c

          [root@wahoo test]# vim hello.c

          #include

          #define DISPLAY "hello c!"

          int main(void)

          {

          printf("%s\n", DISPLAY );

          return 0;

          }

          ZZ(說明:ZZ當前文件進行快速保存操作)

          預編譯(Preprocessing)

          會對各種預處理指令(#include #define #ifdef 等#開始的代碼行)進行處理,刪除注釋和多余的空白字符,生成一份新的代碼

          [root@wahoo test]#gcc -E hello.c -o hello.i

          E 參數 通知gcc對目標文件進行預編譯,這里是對文件hello.c文件

          o 參數 是對命令輸出結果進行導入操作,這里是把 gcc -E hello.c 操作結果輸出到文件hello.i(命名要自定義)中進行保存

          這個命令執行完后我們目錄下多了一個文件hello.i,你可以查閱一下文件的內容。

          編譯(Compilation)

          對代碼進行語法、語義分析和錯誤判斷,生成匯編代碼文件

          [root@wahoo test]#gcc -S hello.i -o hello.s

          S 參數 通知gcc對目標文件進行編譯,這里是對文件hello.i文件

          通過這一步我們知道 C語言跟匯編的 關系,至于他們之前是如何進行轉換的,大家可以進行更深入的學習與探討。

          此時目錄下多了一個hello.s文件,內容如圖

          匯編(Assembly)

          把匯編代碼轉換與計算機可認識的二進制文件,要知道計算機只認識0和1呢

          [root@wahoo test]#gcc -c hello.s -o hello.o

          c 參數 通知gcc對目標文件執行指令轉換操作

          此步驟我們得到文件hello.o

          大家也同樣打開文件查看一下,這個文件里面幾乎沒幾個字符大家能看懂,這就對了,但大家可以通過這種方法將其轉化為我們可讀的形式:

          [root@wahoo test]#readelf -a hello.o

          鏈接(Linking/Build)

          通俗的講就是把多個*.o文件合并成一個可執行文件,二進制指令文件

          [root@wahoo test]#gcc hello.o -o hello

          這里我們就得到了一個可以直接在系統下執行的文件 hello

          我們也可以對這個文件進行readelf操作,也可以進行二進制指令轉匯編的操作

          [root@wahoo test]#objdump -d hello

          程序運行

          [root@wahoo test]#./hello

          hello c!

          總結:gcc 編譯c程序的主要過程包括 預編譯->編譯->匯編->連接 四個過程,每個過程都分別進行不同的處理,了解了這其中的一些原理,對c編程的理解大有益處


        gcc如何編譯C語言程序相關文章:

        1.Linux下C語言編程基礎知識

        2.Mac系統怎樣使用終端編寫c語言程序

        3.在Linux下編譯C或C++程序的教程

        4.什么是gcc gcc的用法

        5.Linux GCC命令的詳解

        6.c語言學習需要的時長以及方法

        3450180 主站蜘蛛池模板: 国产第一区二区三区精品| 欧美福利电影A在线播放| 国产精品无码av不卡| 免费视频好湿好紧好大好爽 | 《特殊的精油按摩》3| 一区二区三区成人| 人人人妻人人澡人人爽欧洲一区| 国产自在自线午夜精品视频| 亚洲一区二区三区日本久久| 亚洲国产成人无码电影| 国产精品天干天干综合网| 国产高潮大叫在线观看| 别揉我奶头~嗯~啊~的视频| 久久精品国内一区二区三区| 乱人伦无码中文视频在线| 麻豆国产成人AV在线播放| 欧美性开放免费网站| 精品国产成人网站一区在线| 亚洲大尺度一区二区av| 婷婷六月综合缴情在线| 五月天丁香婷婷亚洲欧洲国产| 欧美午夜一区| 亚洲顶级裸体av片| 宅男噜噜噜66在线观看| 亚洲综合无码一区二区| 一级二级三一片内射视频在线| 国产精品极品美女免费观看| 苍井空一区二区三区在线观看| 福利一区二区在线观看| 欧美熟妇乱子伦XX视频| 人妻在线中文字幕| 国产精品丝袜在线不卡| 久久精品国内一区二区三区| 欧美疯狂三p群体交乱视频| 日本福利视频免费久久久| 女同AV在线播放| 熟女视频一区二区三区嫩草| 在线高清免费不卡全码| 国产在线观看91精品亚瑟| 成人精品毛片在线观看| 黄男女激情一区二区三区|