最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年01月04日 08:45:00   作者:lucky_starr  
大家好,本篇文章主要講的是Linux系統(tǒng)下gcc命令使用詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

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

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

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

準(zhǔn)備: 先在當(dāng)前目錄下 使用vim新建一個.c文件 例如 666.c

$ vim 666.c

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

插入一段代碼。

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

  

(每次我們用 cat 查看)

一.預(yù)處理

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

  2.命令:

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

或者:

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

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

  gcc -E 666.c -o 666.i

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

二. 編譯

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

   2.命令:

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

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

三.匯編

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

2.命令:

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

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

(這時候因?yàn)槭嵌M(jìn)制文件了,所以會亂碼)

四.鏈接

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

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

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

直接

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

例如 gcc -c 666.o -o 666

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

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

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

其中./是在當(dāng)前目錄下的意思。

例如 ./666

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

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

相關(guān)文章

  • 在 Linux 系統(tǒng)中手動滾動日志的方法

    在 Linux 系統(tǒng)中手動滾動日志的方法

    使用 logrotate 命令可以手動執(zhí)行日志滾動的操作。本文將要介紹的就是手動進(jìn)行日志滾動的方法,通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-03-03
  • CentOS 7 網(wǎng)絡(luò)配置詳解

    CentOS 7 網(wǎng)絡(luò)配置詳解

    本篇文章主要介紹了CentOS 7 網(wǎng)絡(luò)配置,現(xiàn)在分享給大家,也給大家做個參考。需要的朋友可以參考下。
    2016-11-11
  • Linux部署jar包過程

    Linux部署jar包過程

    文章介紹了在Linux系統(tǒng)上部署Java(jar)包時需要注意的幾個關(guān)鍵點(diǎn),包括統(tǒng)一JDK版本、添加打包插件、修改數(shù)據(jù)庫密碼以及正確執(zhí)行jar包的方法
    2025-02-02
  • Centos7 mysql數(shù)據(jù)庫安裝及配置實(shí)現(xiàn)教程

    Centos7 mysql數(shù)據(jù)庫安裝及配置實(shí)現(xiàn)教程

    這篇文章主要介紹了Centos7 mysql數(shù)據(jù)庫安裝及配置實(shí)現(xiàn)教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • yum 安裝memcache permission denied(拒絕訪問) 問題

    yum 安裝memcache permission denied(拒絕訪問) 問題

    這篇文章主要介紹了yum 安裝memcache permission denied(拒絕訪問) 問題,需要的朋友可以參考下
    2017-03-03
  • Ubuntu下Subversion(SVN)的快速安裝與配置詳解

    Ubuntu下Subversion(SVN)的快速安裝與配置詳解

    這篇文章主要介紹了Ubuntu下Subversion(SVN)的快速安裝與配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 在Linux上檢查CPU和硬盤溫度的方法

    在Linux上檢查CPU和硬盤溫度的方法

    為了更好地監(jiān)測您的Linux系統(tǒng)的硬件健康狀況,如CPU與硬盤溫度、風(fēng)扇轉(zhuǎn)速等關(guān)鍵指標(biāo),采用lm_sensors與hddtemp這兩款強(qiáng)大工具是明智之選,以下是關(guān)于這些工具的詳盡指南,包括它們的功能介紹、安裝步驟以及如何配置,需要的朋友可以參考下
    2025-02-02
  • Linux系統(tǒng)下使用U盤的方法

    Linux系統(tǒng)下使用U盤的方法

    在linux系統(tǒng)之中, 一切設(shè)備皆文件, 所以我們的U盤也是一個文件.磁盤設(shè)備被抽象成sda文件, U盤設(shè)備被抽象成sdb文件。這篇文章主要介紹了Linux系統(tǒng)下使用U盤的方法,需要的朋友可以參考下
    2016-10-10
  • ssh遠(yuǎn)程登陸沒有用戶名和主機(jī)名的解決方法

    ssh遠(yuǎn)程登陸沒有用戶名和主機(jī)名的解決方法

    這篇文章主要給大家分享了ssh遠(yuǎn)程登陸沒有用戶名和主機(jī)名的解決方法,文中介紹的非常詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Linux?CentOS7?vim重復(fù)行問題

    Linux?CentOS7?vim重復(fù)行問題

    這篇文章主要介紹了Linux?CentOS7?vim重復(fù)行問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

东至县| 南漳县| 柞水县| 田东县| 仪征市| 济源市| 清新县| 县级市| 左贡县| 新龙县| 澄江县| 阿图什市| 金湖县| 珲春市| 绥棱县| 宝清县| 博爱县| 金寨县| 平陆县| 碌曲县| 荔波县| 安乡县| 来安县| 庄河市| 神木县| 大荔县| 永昌县| 九江县| 和林格尔县| 社会| 秦皇岛市| 敦煌市| 错那县| 西乌珠穆沁旗| 屏东市| 长兴县| 英吉沙县| 大竹县| 花垣县| 昌江| 泸州市|