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

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

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

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

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

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

準備: 先在當前目錄下 使用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)編譯,展開所有宏,刪除所有注釋(像"//").預處理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 )

到此這篇關(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í)行日志滾動的操作。本文將要介紹的就是手動進行日志滾動的方法,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    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)鍵點,包括統(tǒng)一JDK版本、添加打包插件、修改數(shù)據(jù)庫密碼以及正確執(zhí)行jar包的方法
    2025-02-02
  • Centos7 mysql數(shù)據(jù)庫安裝及配置實現(xiàn)教程

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

    這篇文章主要介紹了Centos7 mysql數(shù)據(jù)庫安裝及配置實現(xiàn)教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    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)的快速安裝與配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 在Linux上檢查CPU和硬盤溫度的方法

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

    為了更好地監(jiān)測您的Linux系統(tǒng)的硬件健康狀況,如CPU與硬盤溫度、風扇轉(zhuǎn)速等關(guān)鍵指標,采用lm_sensors與hddtemp這兩款強大工具是明智之選,以下是關(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遠程登陸沒有用戶名和主機名的解決方法

    ssh遠程登陸沒有用戶名和主機名的解決方法

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

    Linux?CentOS7?vim重復行問題

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

最新評論

福安市| 华亭县| 沿河| 和田市| 怀宁县| 泸溪县| 靖西县| 库尔勒市| 闽清县| 兴城市| 黄浦区| 通化县| 乌兰县| 道孚县| 镇赉县| 耿马| 西乡县| 永靖县| 福鼎市| 罗平县| 青阳县| 安塞县| 漠河县| 当涂县| 盐池县| 星座| 长岛县| 息烽县| 大名县| 新闻| 托克托县| 峨眉山市| 方山县| 东乌珠穆沁旗| 遵义县| 习水县| 西安市| 嘉荫县| 额尔古纳市| 安龙县| 颍上县|