国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

    Linux下編譯C文件的過(guò)程教程

    時(shí)間: 志藝942 分享

      你還在為不知道Linux下編譯C文件的過(guò)程教程而不知所措么?下面來(lái)是學(xué)習(xí)啦小編為大家收集的Linux下編譯C文件的過(guò)程教程,歡迎大家閱讀:

      Linux下編譯C文件的過(guò)程教程

      1、首先,寫一個(gè)簡(jiǎn)單的C源文件:HelloWorld

      #include <stdio.h>int main(){ printf("/nHello World!/n/n"); return 0;}

      2、下面是調(diào)用gcc命令編譯HelloWorld.c的過(guò)程:

      [root@localhost gcc_test]# ls -l

      total 4

      -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c

      // gcc的-E選項(xiàng),可以讓編譯器在預(yù)處理后停止,并輸出預(yù)處理結(jié)果。

      [root@localhost gcc_test]# gcc -E HelloWorld.c -o step1.i

      [root@localhost gcc_test]# ls -l

      total 24

      -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c

      -rw-r--r-- 1 root root 18020 Sep 11 00:22 step1.i

      // gcc的-S選項(xiàng),表示在生成匯編代碼后停止,-o輸出匯編代碼文件。

      [root@localhost gcc_test]# gcc -S step1.i -o step2.s

      [root@localhost gcc_test]# ls -l

      total 28

      -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c

      -rw-r--r-- 1 root root 18020 Sep 11 00:22 step1.i

      -rw-r--r-- 1 root root 454 Sep 11 00:22 step2.s

      // gas匯編器負(fù)責(zé)將生成的匯編代碼文件編譯為目標(biāo)文件

      [root@localhost gcc_test]# gcc -c step2.s -o step3.o

      [root@localhost gcc_test]# ls -l

      total 32

      -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c

      -rw-r--r-- 1 root root 18020 Sep 11 00:22 step1.i

      -rw-r--r-- 1 root root 454 Sep 11 00:22 step2.s

      -rw-r--r-- 1 root root 880 Sep 11 00:23 step3.o

      // gcc連接器,負(fù)責(zé)將程序的目標(biāo)文件與所需的所有附加的目標(biāo)文件連接起來(lái),最終生成可執(zhí)行文件。附加的目標(biāo)文件包括靜態(tài)連接庫(kù)和動(dòng)態(tài)連接庫(kù)。

      [root@localhost gcc_test]# gcc step3.o -o step4_result

      [root@localhost gcc_test]# ls -l

      total 40

      -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c

      -rw-r--r-- 1 root root 18020 Sep 11 00:22 step1.i

      -rw-r--r-- 1 root root 454 Sep 11 00:22 step2.s

      -rw-r--r-- 1 root root 880 Sep 11 00:23 step3.o

      -rwxr-xr-x 1 root root 4734 Sep 11 00:23 step4_result

      // 執(zhí)行可執(zhí)行程序

      [root@localhost gcc_test]# ./step4_result

      Hello World!

      [root@localhost gcc_test]#

      3、上述拆分的過(guò)程完全可以一步執(zhí)行:

      [root@localhost gcc_test]# gcc HelloWorld.c -o result

      [root@localhost gcc_test]# ls -l

      total 48

      -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c

      -rwxr-xr-x 1 root root 4734 Sep 11 00:39 result

      -rw-r--r-- 1 root root 18020 Sep 11 00:22 step1.i

      -rw-r--r-- 1 root root 454 Sep 11 00:22 step2.s

      -rw-r--r-- 1 root root 880 Sep 11 00:23 step3.o

      -rwxr-xr-x 1 root root 4734 Sep 11 00:23 step4_result

      [root@localhost gcc_test]# ./result

      Hello World!

      [root@localhost gcc_test]#

    看了“Linux下編譯C文件的過(guò)程教程”還想看:

    1.linux重新編譯方法

    2.如何編譯內(nèi)核及制作RPM包

    3.Linux C語(yǔ)言文件IO教學(xué)視頻

    4.Linux下C語(yǔ)言編程基礎(chǔ)知識(shí)

    5.linux操作系統(tǒng)建立ARM交叉編譯環(huán)境的步驟

    6.動(dòng)態(tài)編譯busybox和編譯并安裝busybox

    Linux下編譯C文件的過(guò)程教程

    你還在為不知道Linux下編譯C文件的過(guò)程教程而不知所措么?下面來(lái)是學(xué)習(xí)啦小編為大家收集的Linux下編譯C文件的過(guò)程教程,歡迎大家閱讀: Linux下編譯C文件的過(guò)程教程 1、首先,寫一個(gè)簡(jiǎn)單的C源文件:HelloWorld #include stdio.hint main(
    推薦度:
    點(diǎn)擊下載文檔文檔為doc格式
    2772457