亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學(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、首先,寫(xiě)一個(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、首先,寫(xiě)一個(gè)簡(jiǎn)單的C源文件:HelloWorld #include stdio.hint main(
      推薦度:
      點(diǎn)擊下載文檔文檔為doc格式
      2772457