導航:首頁 > 程序命令 > gcc常用命令

gcc常用命令

發布時間:2022-05-18 13:36:53

『壹』 Objective c中,linux下gcc 編譯頭文件的命令是什麼

預處理對頭文件、宏定義等進行處理,生成
.i
的默認文件,命令:gcc
-E
test.c>test.i

『貳』 GCC是什麼 常聽到有人說他學的是Visual C,有人學的什麼Dev C,有人學的是GCC,

GCC 編譯器是 Linux 系統下最常用的 C/C++ 編譯器,大部分 Linux 發行版中都會默認安裝。GCC 編譯器通常以gcc命令的形式在終端(Shell)中使用,它有很多選項。



Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用於微軟支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。


Dev-C++


Dev-C++是一個Windows環境下C/C++的集成開發環境(IDE),它是一款自由軟體,遵守GPL許可協議分發源代碼。它集合了MinGW等眾多自由軟體,並且可以取得最新版本的各種工具支持,而這一切工作都是來自全球的狂熱者所做的工作。Dev-C++是NOI、NOIP等比賽的指定工具,缺點是Debug功能弱。Dev-C++最新版本:5.11.0。

『叄』 查看gcc的幫助用什麼命令

gcc -v 很簡答的一個知識。 所有的linux程序都可以使用這個命令查看版本信息。 以後要是遇到了linux方面的問題, shell編程, linux系統管理問題, 都可以幫到大家。 希望採納

『肆』 在Linux系統中,gcc的命令怎麼用

Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。 -c,只編譯,不連接成為可執行文件,編譯器只是由輸入的.c等源代碼文件生成.o為後綴的目標文件,通常用於編譯不包含主程序的子程序文件。 -o output_filename,確定輸出文件的名稱為output_filename,同時這個名稱不能和源文件同名。如果不給出這個選項,gcc就給出預設的可執行文件a.out。 -g,產生符號調試工具(GNU的gdb)所必要的符號資訊,要想對源代碼進行調試,我們就必須加入這個選項。 -O,對程序進行優化編譯、連接,採用這個選項,整個源代碼會在編譯、連接過程中進行優化處理,這樣產生的可執行文件的執行效率可以提高,但是,編譯、連接的速度就相應地要慢一些。 -O2,比-O更好的優化編譯、連接,當然整個編譯、連接過程會更慢。 -Idirname,將dirname所指出的目錄加入到程序頭文件目錄列表中,是在預編譯過程中使用的參數。找到一個學習linux的好方法,可多看看《linux就該這么學》一書。

『伍』 linux 怎麼編譯c的源程序的gcc,編譯命令是什麼

在Linux下面,如果要編譯一個C語言源程序,我們要使用gcc編譯器。

先將源文件編譯成目標文件:gcc - c hello.c

生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux ");

}

(5)gcc常用命令擴展閱讀:

在使用GCC編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,這里只介紹其中最基本、最常用的參數。具體可參考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。

網路_gcc

『陸』 gcc中怎麼使用gdb命令

在linux系統中,默認是沒有安裝gcc編譯器的,可以通過命令
rpm -q | grep gcc

來查看。安裝命令為:
yum -y install gcc

安裝後,編寫一個.c結尾的文件。
gcc test.c

就會默認輸出一個a.out的輸出文件,這個輸出文件就是可執行文件。
如果加上-o選項,則可以自定目標文件。
gcc -o test test.c

test就是它的可執行文件。
一般都默認加上-Wall 選項,可以自動提示一些出錯警告的信息。
gcc -Wall -o test test.c

gbd
以上就是常用的gcc相關知識了。下面就是它的調試,調試通常使用gdb。在編譯的時候需要加上選項-ggdb3選項
gcc -ggdb3 -Wall -o test test.c

這樣在沒有出錯的情況下
gdb test

就進入調試窗口
輸入下面命令可以進行如下的操作:
break 設置斷點
break 21 在第21行設置斷點
break main 在main函數處設置斷點
break test 在函數test處設置斷點
step / s 下一步,直接執行下一條程序
continue / cont 下一段,如果遇到函數,不會進入函數,逐過程,有點類似VS裡面的F10
run 運行
finish 結束調試
tbreak設置臨時斷點
print / p 顯示某個變數的值
p *array@len 輸出數組
p i 輸出i的值
enable 恢復失效的斷點
disable 使斷點失效
clear 清除斷點
backtrace / bt 查看堆棧信息
相關的輸出格式
x 十六進制格式
d 十進制格式
u 十六進制無符號
o 八進制顯示
t 二進制顯示
a 十六進制顯示
c 字元格式顯示
f 浮點數格式顯示

『柒』 gcc的使用技巧

首先檢查是否在你的機器上安裝了GCC,使用命令:
可用rpm -q gcc檢查。
如果沒有安裝,請依序檢查並安裝下面各RPM
libbinutils
binutils
make
glibc-devel
gcc-cpp
gcc
看下面的例子:test.c #include<stdio.h>intmain(){char*str=IlikeLinux!;printf(%s,str);return0;}使用gcc編譯。輸入gcc -c test.c得到目標文件test.o.-c命令表示對文件進行編譯和匯編。但並不連接。如果再鍵入gcc -o ../bin/test test.o,那麼將得到名為test的可執行文件。其實這兩步可以一氣呵成,gcc ../bin/test test.c.如果程序沒有錯誤就生成了可執行文件。也許你會覺得基於命令行的編譯器比不上如VC之類的集成開發環境,的確gcc的界面要改進,但是你一旦熟練了就會感到。gcc的效率如此之高。可以告訴大家的是Linux底下強大的C/C++集成開發環境Kdevelop和Vc一樣強大,使用了Gcc編譯器。
GNU C編譯器 即gcc是一個功能強大的ANSI C兼容編譯器,你會操作其他操作系統下的一種C編譯器,能很快掌握GCC.
1、使用Gcc,Gcc是基於命令行的,使用時通常後跟一些選項和文件名。Gcc的基本用法如下: gcc [options] [filenames] 命令行選項制定操作將對命令行上的每個給出的文件執行。
2、GCC的常用選項
編譯選項:gcc有超過100個的編譯選項可用。具體的可以使用命令man gcc察看
優化選項:用GCC編譯C/C++代碼時,它會試著用最少的時間完成編譯並且編譯後的代碼易於調試。易於調試意味著編譯後的代碼與源代碼有同樣的執行順序,編譯後的代碼沒有經過優化。有很多的選項可以告訴GCC在耗費更多編譯時間和犧牲易調試性的基礎上產生更小更快的可執行文件。這些選項中最典型的就是-O和-O2。-O選項告訴gcc對源代碼進行基本優化。-O2選項告訴GCC產生盡可能小的和盡可能快的代碼。還有一些很特殊的選項可以通過man gcc察看。
調試和剖析選項:GCC支持數種調試剖析選項。在這些選項中最常用的是-g和-pg.-g選項告訴gcc產生能被GNU調試器(如gdb)使用的調試信息,以便調試用戶的程序。-pg選項告訴gcc在用戶的程序中加入額外的代碼,執行時,產生gprof用的剖析信息以顯示程序的耗時情況。
3、使用gdb
使用方法:在命令行中鍵入gdb並按回車就可以運行gdb了,啟動gdb後,能在命令行上制定很多的選項,也可以下面的方式來運行gdb: gdb filename 用這種方式運行gdb時,能直接指定想要調試的程序。在命令行上健入gdb -h得到一個有關gdb的選項的說明簡單列表。
編譯代碼以供調試,為了使gdb工作,必須使程序在編譯時包含調試信息,調試信息包含程序里的每個變數的類型,在可執行文件里的地址映射以及源代碼的行號。gdb利用這些信息使源代碼和機器碼相關聯。
關於gcc的大體就寫這么多吧,更多的信息可以查找幫助,記得學習Linux的一大武器man或者info命令,下次在介紹一下使用C/C++編寫大型程序的makefile文件和make命令。

『捌』 Linux下gcc命令怎麼使用,詳細的參數說明

用法:gcc [選項] 文件...
選項:
-pass-exit-codes 在某一階段退出時返回最高的錯誤碼
--help 顯示此幫助說明
--target-help 顯示目標機器特定的命令行選項
(使用『-v --help』顯示子進程的命令行參數)
-mpspecs 顯示所有內建 spec 字元串
-mpversion 顯示編譯器的版本號
-mpmachine 顯示編譯器的目標處理器
-print-search-dirs 顯示編譯器的搜索路徑
-print-libgcc-file-name 顯示編譯器伴隨庫的名稱
-print-file-name=<庫> 顯示 <庫> 的完整路徑
-print-prog-name=<程序> 顯示編譯器組件 <程序> 的完整路徑
-print-multi-directory 顯示不同版本 libgcc 的根目錄
-print-multi-lib 顯示命令行選項和多個版本庫搜索路徑間的映射
-print-multi-os-directory 顯示操作系統庫的相對路徑
-Wa,<選項> 將逗號分隔的 <選項> 傳遞給匯編器
-Wp,<選項> 將逗號分隔的 <選項> 傳遞給預處理器
-Wl,<選項> 將逗號分隔的 <選項> 傳遞給鏈接器
-Xassembler <參數> 將 <參數> 傳遞給匯編器
-Xpreprocessor <參數> 將 <參數> 傳遞給預處理器
-Xlinker <參數> 將 <參數> 傳遞給鏈接器
-combine 將多個源文件一次性傳遞給匯編器
-save-temps 不刪除中間文件
-pipe 使用管道代替臨時文件
-time 為每個子進程計時
-specs=<文件> 用 <文件> 的內容覆蓋內建的 specs 文件
-std=<標准> 指定輸入源文件遵循的標准
--sysroot=<目錄> 將 <目錄> 作為頭文件和庫文件的根目錄
-B <目錄> 將 <目錄> 添加到編譯器的搜索路徑中
-b <機器> 為 gcc 指定目標機器(如果有安裝)
-V <版本> 運行指定版本的 gcc(如果有安裝)
-v 顯示編譯器調用的程序
-### 與 -v 類似,但選項被引號括住,並且不執行命令
-E 僅作預處理,不進行編譯、匯編和鏈接
-S 編譯到匯編語言,不進行匯編和鏈接
-c 編譯、匯編到目標代碼,不進行鏈接
-o <文件> 輸出到 <文件>
-x <語言> 指定其後輸入文件的語言
允許的語言包括:c c++ assembler none
『none』意味著恢復默認行為,即根據文件的擴展名猜測
源文件的語言

以 -g、-f、-m、-O、-W 或 --param 開頭的選項將由 gcc 自動傳遞給其調用的
不同子進程。若要向這些進程傳遞其他選項,必須使用 -W<字母> 選項。

『玖』 「linux」怎麼編譯c的源程序的「gcc」編譯命令是什麼

格式
gcc
[option]
[sourcefilename]
介紹一些常用的選項:最簡單的是:gcc
hello.c
默認的情況下將生成a.out的可執行性文件,你只需要在終端上輸入./a.out就可以看到執行的結果.
如果你想指定生成目標文件的名字那麼你可以加上
-o選項,命令如下:
gcc
-o
hello
hello.c
命令如下:
gcc
-c
hello
hello.c

『拾』 mac下的gcc如何使用。。

gcc常用命令行
gcc/g++在執行編譯工作的時候,總共需要以下幾步:
1.預處理,生成.i的文件[預處理器cpp]
2.將預處理後的文件轉換成匯編語言,生成文件.s[編譯器egcs]
3.由匯編變為目標代碼(機器代碼)生成.o的文件[匯編器as]
4.連接目標代碼,生成可執行程序[鏈接器ld]
/**********GCC能夠處理的後綴有:**********/
a. *.c *.C (C語言)
b. *.cxx *.cc (C++語言)
c. *.m (面向對象的C)
d. *.i (預處理後的C語言源文件)
e. *.ii (預處理後的C++語言源文件)
f. *.s *.S (匯編語言)
h. *.h (頭文件)
/**********目標文件可以是:**********/
a. *.o 編譯連接後的目標文件
b. *.a 庫文件

-o FILE 指定輸出文件名,在編譯為目標代碼時,這一選項不是必須的。如果FILE沒有指定,預設文件名是a.out.
-c 只編譯不鏈接
-IDIRNAME 將DIRNAME加入到頭文件的搜索目錄列表中
-LDIRNAME 將DIRNAME加入到庫文件的搜索目錄列表中,預設情況下gcc 只鏈接共享庫
-lFOO 鏈接名為libFOO的函數庫
-O 優化編譯過的代碼
-ON 指定代碼優化的級別為N,o<=N<=3
-v 顯示在編譯過程的每一步中用到的命令
-x language filename 設定文件所使用的語言,使後綴名無效,對以後的多個有效.也就是根據約定C語言的後綴名稱是.c的,而C++的後綴名是.C或者.cpp,
如果你很個性,決定你的C代碼文件的後綴名是.pig 哈哈,那你就要用這個參數,這個參數對他後面的文件名都起作用,
除非到了下一個參數的使用。例 gcc -x c hello.pig
-x none filename 關掉上一個選項,也就是讓gcc根據文件名後綴,自動識別文件類型
例:gcc -x c hello.pig -x none hello2.c
-c 只激活預處理,編譯,和匯編,也就是他只把程序做成obj文件
例:gcc -c hello.c 他將生成.o的obj文件

-o 制定目標名稱,預設的時候,gcc 編譯出來的文件是a.out,很難聽,如果你和我有同感,改掉它!
例子用法
gcc -o hello.exe hello.c (哦,windows用習慣了)
gcc -o hello.asm -S hello.c

-Idir 在你是用#include」file」的時候,gcc/g++會先在當前目錄查找你所制定的頭文件,如果沒有找到,他回到預設的頭文件目錄找,如果使用-I制定了目錄,
他回先在你所制定的目錄查找,然後再按常規的順序去找.對#include,gcc/g++會到-I制定的目錄查找,查找不到,然後將到系統的預設的頭文件目錄查找
-I- 就是取消前一個參數的功能,所以一般在-Idir之後使用
-idirafter dir 在-I的目錄裡面查找失敗,講到這個目錄裡面查找.
-iprefix prefix
-iwithprefix dir 一般一起使用,當-I的目錄查找失敗,會到prefix+dir下查找
-nostdinc 使編譯器不再系統預設的頭文件目錄裡面找頭文件,一般和-I聯合使用,明確限定頭文件的位置
-nostdin C++ 規定不在g++指定的標准路經中搜索,但仍在其他路徑中搜索,.此選項在創libg++庫使用
-C 在預處理的時候,不刪除注釋信息,一般和-E使用,有時候分析程序,用這個很方便的
-M 生成文件關聯的信息。包含目標文件所依賴的所有源代碼你可以用gcc -M hello.c來測試一下。
-MM 和上面的那個一樣,但是它將忽略由#include造成的依賴關系。
-MD 和-M相同,但是輸出將導入到.d的文件裡面
-MMD 和-MM相同,但是輸出將導入到.d的文件裡面
-Wa,option 此選項傳遞option給匯編程序;如果option中間有逗號,就將option分成多個選項,然後傳遞給會匯編程序
-Wl.option 此選項傳遞option給連接程序;如果option中間有逗號,就將option分成多個選項,然後傳遞給會連接程序.
-llibrary 制定編譯的時候使用的庫
例子用法 gcc -lcurses hello.c 使用curses庫編譯程序
-Ldir 制定編譯的時候,搜索庫的路徑。比如你自己的庫,可以用它制定目錄,不然編譯器將只在標准庫的目錄找。這個dir就是目錄的名稱。
-O0 -O1 -O2 -O3 編譯器的優化選項的4個級別,-O0表示沒有優化,-O1為預設值,-O3優化級別最高
-g 只是編譯器,在編譯的時候,產生調試信息。
-gstabs 此選項以stabs格式聲稱調試信息,但是不包括gdb調試信息.
-gstabs+ 此選項以stabs格式聲稱調試信息,並且包含僅供gdb使用的額外調試信息.
-ggdb 此選項將盡可能的生成gdb的可以使用的調試信息.
-static 此選項將禁止使用動態庫,所以,編譯出來的東西,一般都很大,也不需要什麼動態連接庫,就可以運行.
-share 此選項將盡量使用動態庫,所以生成文件比較小,但是需要系統有動態庫.
-traditional 試圖讓編譯器支持傳統的C語言特性

閱讀全文

與gcc常用命令相關的資料

熱點內容
java程序升級 瀏覽:490
排序演算法之插入類 瀏覽:227
gcccreate命令 瀏覽:73
海爾監控用什麼app 瀏覽:64
系統盤被壓縮開不了機 瀏覽:984
linuxredis30 瀏覽:541
狸窩pdf轉換器 瀏覽:696
ajax調用java後台 瀏覽:904
活塞式壓縮機常見故障 瀏覽:614
break演算法 瀏覽:731
換電池的app是什麼 瀏覽:771
單片機ad采樣快速發送電腦 瀏覽:22
第五人格伺服器錯誤是什麼回事兒 瀏覽:467
查看手機谷歌伺服器地址 瀏覽:191
python操作zookeeper 瀏覽:706
蘋果手機dcim文件夾顯示不出來 瀏覽:430
如何壓縮文件夾聯想電腦 瀏覽:584
程序員的學習之旅 瀏覽:441
apkdb反編譯 瀏覽:922
雪花演算法為什麼要二進制 瀏覽:825