日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux装c编译器gcc,c编译器进阶之路,linux下的gcc c编译器使用教程

發(fā)布時(shí)間:2023/12/10 linux 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux装c编译器gcc,c编译器进阶之路,linux下的gcc c编译器使用教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

c編譯器的重要性不言而喻,從往期c編譯器文章中,如c編譯器優(yōu)化、選定c編譯器等,想必大家對(duì)c編譯器均已有所了解。往期文章中,小編主要從宏觀方面為大家講解c編譯器,此外對(duì)于gcc c編譯器的講解也大多基于windows。本文中,小編將基于linux環(huán)境對(duì)gcc的基本使用加以講解。如果你正在學(xué)習(xí)如何在linux系統(tǒng)下使用gcc編譯器,不妨繼續(xù)往下閱讀哦。

首先使用gcc要在linux環(huán)境下,我們可以使用真正的linux系統(tǒng)(不過這么做可能有一些麻煩)或者使用一些windows下的虛擬軟件,可以使用虛擬機(jī)搭建的linux環(huán)境,這樣可以很方便的進(jìn)行l(wèi)inux開發(fā)。可以下載安裝一個(gè)虛擬機(jī)軟件,方法很簡單和安裝普通軟件一樣。(g++就是c++的使用)

在Linux系統(tǒng)中,可執(zhí)行文件沒有統(tǒng)一的后綴,系統(tǒng)從文件的屬性來區(qū)分可執(zhí)行文件和不可執(zhí)行文件。而gcc則通過后綴來區(qū)別輸入文件的類別,下面介紹gcc所遵循的部分約定規(guī)則。

.c為后綴的文件,C語言源代碼文件;

.a為后綴的文件,是由目標(biāo)文件構(gòu)成的庫文件;

.C,.cc或.cxx 為后綴的文件,是C++源代碼文件;

.h為后綴的文件,是程序所包含的頭文件;

.i 為后綴的文件,是已經(jīng)預(yù)處理過的C源代碼文件;

.m為后綴的文件,是Objective-C源代碼文件;

.o為后綴的文件,是編譯后的目標(biāo)文件;

.s為后綴的文件,是匯編語言源代碼文件;

.S為后綴的文件,是經(jīng)過預(yù)編譯的匯編語言源代碼文件

一. 常用編譯命令選項(xiàng)

假設(shè)源程序文件名為test.c。

1. 無選項(xiàng)編譯鏈接

用法:gcc test.c

作用:將test.c預(yù)處理、匯編、編譯并鏈接形成可執(zhí)行文件。這里未指定輸出文件,默認(rèn)輸出為a.out。

2. 選項(xiàng) -o

用法:gcc test.c -o test

作用:將test.c預(yù)處理、匯編、編譯并鏈接形成可執(zhí)行文件test。-o選項(xiàng)用來指定輸出文件的文件名。

3. 選項(xiàng) -E

用法:gcc -E test.c -o test.i

作用:將test.c預(yù)處理輸出test.i文件。

4. 選項(xiàng) -S

用法:gcc -S test.i

作用:將預(yù)處理輸出文件test.i匯編成test.s文件。

5. 選項(xiàng) -c

用法:gcc -c test.s

作用:將匯編輸出文件test.s編譯輸出test.o文件。

6. 無選項(xiàng)鏈接

用法:gcc test.o -o test

作用:將編譯輸出文件test.o鏈接成最終可執(zhí)行文件test。

7. 選項(xiàng)-O

用法:gcc -O1 test.c -o test

作用:使用編譯優(yōu)化級(jí)別1編譯程序。級(jí)別為1~3,級(jí)別越大優(yōu)化效果越好,但編譯時(shí)間越長。

二. 多源文件的編譯方法

如果有多個(gè)源文件,基本上有兩種編譯方法:

[假設(shè)有兩個(gè)源文件為test.c和testfun.c]

1. 多個(gè)文件一起編譯

用法:gcc testfun.c test.c -o test

作用:將testfun.c和test.c分別編譯后鏈接成test可執(zhí)行文件。

2. 分別編譯各個(gè)源文件,之后對(duì)編譯后輸出的目標(biāo)文件鏈接。

用法:

gcc -c testfun.c //將testfun.c編譯成testfun.o

gcc -c test.c //將test.c編譯成test.o

gcc -o testfun.o test.o -o test //將testfun.o和test.o鏈接成test

以上兩種方法相比較,第一中方法編譯時(shí)需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件,未修改的文件不用重新編譯。

運(yùn)行程序 例如./a.out就可以運(yùn)行程序。

以上便是此次小編帶來的“c編譯器”的相關(guān)內(nèi)容,通過本文,希望大家對(duì)在linux環(huán)境下的gcc常用編譯命令選項(xiàng)以及gcc多源文件的編譯方法具備一定的認(rèn)知和了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!

總結(jié)

以上是生活随笔為你收集整理的Linux装c编译器gcc,c编译器进阶之路,linux下的gcc c编译器使用教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。