亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

Linux系統(tǒng)下gcc命令使用詳解

瀏覽:61日期:2023-03-07 14:40:09
目錄
  • 一.預處理
  • 二. 編譯
  • 三.匯編
  • 四.鏈接

1.gcc的安裝(以Ubuntu為例) sudo apt-get install build-essential

安裝完后可以通過 gcc --version 查看版本。

讓我們在通過gcc編譯可執(zhí)行文件的過程中掌握其基礎應用。

準備: 先在當前目錄下 使用vim新建一個.c文件 例如 666.c

$ vim 666.c

(vim的使用可在我的另一篇博客有詳細的敘述,這里不多在贅述)

插入一段代碼。

#include <stdio.h>main(){	int a,i;	a=6;	for(i=0;i<3;i++)	{		printf("%d",a);	}}

(每次我們用 cat 查看)

一.預處理

1.預處理通過對宏定義(像#define)進行展開,對頭文件(像 stdio.h)進行展開,對條件進行(像ifdef)編譯,展開所有宏,刪除所有注釋(像"http://").預處理cpp把源代碼,頭文件預編成一個.i文件。(注意這時并不檢查語法,所以即使有語法錯誤也不會報錯。)

2.命令:

$ gcc -E (源文件名) -o (預處理文件名)

或者:

$ gcc (源文件名) > (預處理文件名)

例如按666.c 來說,預處理時可以是 :

gcc -E 666.c -o 666.i

也可以是 gcc 666.c > 666.i

二. 編譯

1.編譯也就是檢查語法是否錯誤,將預處理過的文件編譯成匯編文件。

2.命令:

$ gcc -S (源文件) -o (匯編文件)

例如 gcc -S 666.i -o 666.s

三.匯編

1. 匯編也就是將匯編文件生成目標文件(二進制文件)通過匯編,文本代碼變成了二進制代碼。(二進制代碼文件以.o為后綴名)。

2.命令:

$ gcc -c (匯編文件) -o (目標文件)

例如 gcc -c 666.s -o 666.o

(這時候因為是二進制文件了,所以會亂碼)

四.鏈接

1. 鏈接找到依賴的庫文件(靜態(tài)與動態(tài)),將目標文件鏈接為可執(zhí)行程序。

$ gcc -c [目標文件] -o [可執(zhí)行程序] -l[動態(tài)庫名]

假如沒有動態(tài)庫的話(一般)

直接

$ gcc -c [目標文件] -o [可執(zhí)行程序] 

例如 gcc -c 666.o -o 666

此時會生成可執(zhí)行程序 666

如果想執(zhí)行使用該命令:

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

其中./是在當前目錄下的意思。

例如 ./666

(注意:在一般我們使用時 如果使用 gcc 可執(zhí)行文件名,會默認生成a.out 可執(zhí)行文件,這時我們直接執(zhí)行它時用 ./a.out )

到此這篇關于Linux系統(tǒng)下gcc命令使用詳解的文章就介紹到這了,更多相關Linux gcc命令內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
主站蜘蛛池模板: 最刺激黄a大片免费观看 | 日本高清福利视频在线观看 | 99视频在线观看免费 | 久久青草国产手机看片福利盒子 | 亚洲成人手机在线 | 精品午夜一区二区三区在线观看 | 日本午夜三级 | 久久成人亚洲 | 福利片免费一区二区三区 | 日本在线不卡免 | 99视频精品在线 | 美女黄网站人色视频免费国产 | 日韩欧美国产高清在线观看 | 久久国产成人精品麻豆 | 日韩特级 | 久久91综合国产91久久精品 | 欧美韩国日本一区 | 亚洲综合无码一区二区 | α级毛片 | 亚洲精品视 | 成人午夜大片免费7777 | a级在线观看 | 韩国美女激情视频一区二区 | 成人免费观看高清在线毛片 | 欧美久久一区二区 | 国产精品偷伦费观看 | 国产成人在线视频网站 | 欧美精品午夜毛片免费看 | 亚洲一区二区三区免费看 | 美女张开腿让男人桶爽免费网站 | 久久网站免费 | 欧美一级特黄特色大片免费 | 国产自在自线午夜精品视频 | 美国毛片免费观看 | 国产高清视频在线 | 韩国一级黄色大片 | 蘑菇午夜三级 | 亚洲天堂国产 | 日本免费在线观看视频 | 美女很黄很黄免费 | 99视频国产热精品视频 |