linux使用gcc編譯
方法/步驟
1、進入linux系統,創建C文件「vim test.c」同時進入vim編輯界面也可以利用指令「touch test.c」創建後,然後「vim test.c」進入vim編輯界面。
② 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 ");
}
(2)linux使用gcc編譯擴展閱讀:
在使用GCC編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,這里只介紹其中最基本、最常用的參數。具體可參考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。
網路_gcc
③ linux編譯運行c文件命令linux編譯運行
在linux中,怎麼用gcc編譯文件?
編譯方法:格式gcc常用的選項最簡單的是:gcchello.c默認的情況下將生成a.out的可執行性文件,只需要在終端上輸入./a.out就可以看到執行的結果,如果你想指定生成目標文件的名字那麼你可以加上-o選項,命令如下:gcc-ohellohello.c命令:gcc-chellohello.c
(3)linux使用gcc編譯擴展閱讀:
gcc命令的基本用法gcc其中,filenames為文件名;options為編譯選項。當不使用任何編譯選項編譯hello.c時,gcc將會自動編譯產生一個a.out的可執行文件:#lshello.c#gcchello.c#lsa.outhello.c執行:#./a.outHello,World!使用-o編譯選擇,可以為編譯後的文件指定一個名字:#lsa.outhello.c#gcchello.c-ohello#lsa.outhellohello.c執行:#./helloHello,World!注意:使用-o選項時,-o後面必須跟一個文件名,即:-ooutfile。為了便於描述後面的選項,刪除hello和a.out可執行文件。如何編譯運行Linux系統里Vim編輯器編寫的程序?
那要看Vim編輯器編寫的程序是哪種編程語言了,如果是C代碼,就用gcc命令編譯;如果是C++代碼,就用g++命令編譯(也可以用gcc命令編譯,前提是需要安裝g++)。一般在Linux上需要編譯運行的,就是C或者C++代碼了,編寫的腳本代碼(比如shell腳本、Python、Perl等)都是直接運行。
linux如何編譯運行test.c?
我的:gcc-ctest.c-oa.out編譯
./a.out運行
linux下ARM平台編譯編寫的完成程序如何在windows環境下運行?
直接在window下運行不了。只能在window下安裝虛擬機,再安裝linux系統,在虛擬機下的linux里gcc編譯你的程序.
linux下qt程序如何編譯運行?說的詳細點!急急急?
1需要保證linux下要安裝了qt環境2進入你的程序目錄,運行/usr/local/qt_install/bin/qmakexxxx.pro。其中/usr/local/qt_install是qt安裝目錄.xxxx.pro是你應程程序中的pro文件3執行make4運行生成的bin文件
④ 在linux中,怎麼用gcc編譯文件
在終端中輸入 gcc 文件名 -o 目標文件名
然後 ./目標文件名 就行了,沒有目標文件名,自動存為 a
執行 ./a 就行了。
在使用Gcc編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,其中多數參數我們可能根本就用不到,這里只介紹其中最基本、最常用的參數。
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所指出的目錄加入到程序頭文件目錄列表中,是在預編譯過程中使用的參數。C程序中的頭文件包含兩種情況∶
A)#include <myinc.h>
B)#include 「myinc.h」
其中,A類使用尖括弧(< >),B類使用雙引號(「 」)。對於A類,預處理程序cpp在系統預設包含文件目錄(如/usr/include)中搜尋相應的文件,而B類,預處理程序在目標文件的文件夾內搜索相應文件。
GCC執行過程示例
示例代碼 a.c:
#include <stdio.h>
int main()
{
printf("hello\n");
}
預編譯過程:
這個過程處理宏定義和include,並做語法檢查。
可以看到預編譯後,代碼從5行擴展到了910行。
gcc -E a.c -o a.i
cat a.c | wc -l
5
cat a.i | wc -l
910
編譯過程:
這個階段,生成匯編代碼。
gcc -S a.i -o a.s
cat a.s | wc -l
59
匯編過程:
這個階段,生成目標代碼。
此過程生成ELF格式的目標代碼。
gcc -c a.s -o a.o
file a.o
a.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), not stripped
鏈接過程:
鏈接過程。生成可執行代碼。鏈接分為兩種,一種是靜態鏈接,另外一種是動態鏈接。使用靜態鏈接的好處是,依賴的動態鏈接庫較少,對動態鏈接庫的版本不會很敏感,具有較好的兼容性;缺點是生成的程序比較大。使用動態鏈接的好處是,生成的程序比較小,佔用較少的內存。
gcc a.o -o a
程序運行:
./a
hello
編輯本段
GCC編譯簡單例子
編寫如下代碼:
#include <stdio.h>
int main()
{
printf("hello,world!\n");
}
執行情況如下:
gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc hello.c -o hello
./hello
hello,world!
⑤ linux用gcc編譯如何輸入中文
linux用gcc編譯輸入中文:scanf()可以;char s[100];scanf("%s", s);printf("%s", s)。
-c,只編譯,不連接成為可執行文件,編譯器只是由輸入的.c等源代碼文件生成.o為後綴的目標文件,通常用於編譯不包含主程序的子程序文件。
-o output_filename,確定輸出文件的名稱為output_filename,同時這個名稱不能和源文件同名。如果不給出這個選項,gcc就給出預設的可執行文件a.out。
特點:
它除了在伺服器方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統的實現機制,而且可以根據自身的需要來修改完善Linux,使其最大化地適應用戶的需要。
Linux不僅系統性能穩定,而且是開源軟體。其核心防火牆組件性能高效、配置簡單,保證了系統的安全。在很多企業網路中,為了追求速度和安全,Linux不僅僅是被網路運維人員當作伺服器使用,甚至當作網路防火牆,這是Linux的一大亮點。
⑥ 如何用GCC在linux下編譯C語言程序
在Linux下面,如果要編譯一個C語言源程序,我們要使用GNU的gcc編譯器,假設我們有下面一個非常簡單的源程序(hello.c):
int main(int argc,char **argv)
{
printf("Hello Linux
");
}
要編譯這個程序,我們只要在命令行下執如橘耐行:
gcc -o hello hello.c
gcc 編譯器就會為我們生成一個hello的可執行渣春文件.執行./hello就可以看到程
序的輸出結果了