⑴ 用gcc編譯器C語言程序的技巧
方法/步驟
1、編寫c代碼,並輸入以下代碼,生成文件hello.c
[root@wahoo
test]#
vim
hello.c
#include
<stdio.h>
#define
DISPLAY
"hello
c!"
int
main(void)
{
printf("%s\n",
DISPLAY
);
return
0;
}
ZZ(說明:ZZ當前文件進行快速保存操作)
2、預編譯(Preprocessing)
會對各種預處理指令(#include
#define
#ifdef
等#開始的代碼行)進行處理,刪除注釋和多餘的空白字元,生成一份新的代碼
[root@wahoo
test]#gcc
-E
hello.c
-o
hello.i
E
參數
通知gcc對目標文件進行預編譯,這里是對文件hello.c文件
o
參數
是對命令輸出結果進行導入操作,這里是把
gcc
-E
hello.c
操作結果輸出到文件hello.i(命名要自定義)中進行保存
這個命令執行完後我們目錄下多了一個文件hello.i,你可以查閱一下文件的內容。
3、編譯(Compilation)
對代碼進行語法、語義分析和錯誤判斷,生成匯編代碼文件
[root@wahoo
test]#gcc
-S
hello.i
-o
hello.s
S
參數
通知gcc對目標文件進行編譯,這里是對文件hello.i文件
通過這一步我們知道
C語言跟匯編的
關系,至於他們之前是如何進行轉換的,大家可以進行更深入的學習與探討。
此時目錄下多了一個hello.s文件,內容如圖
4、匯編(Assembly)
把匯編代碼轉換與計算機可認識的二進制文件,要知道計算機只認識0和1呢
[root@wahoo
test]#gcc
-c
hello.s
-o
hello.o
c
參數
通知gcc對目標文件執行指令轉換操作
此步驟我們得到文件hello.o
大家也同樣打開文件查看一下,這個文件裡面幾乎沒幾個字元大家能看懂,這就對了,但大家可以通過這種方法將其轉化為我們可讀的形式:
[root@wahoo
test]#readelf
-a
hello.o
5、鏈接(Linking/Build)
通俗的講就是把多個*.o文件合並成一個可執行文件,二進制指令文件
[root@wahoo
test]#gcc
hello.o
-o
hello
這里我們就得到了一個可以直接在系統下執行的文件
hello
我們也可以對這個文件進行readelf操作,也可以進行二進制指令轉匯編的操作
[root@wahoo
test]#objmp
-d
hello
6、程序運行
[root@wahoo
test]#./hello
hello
c!
7、總結:gcc
編譯c程序的主要過程包括
預編譯->編譯->匯編->連接
四個過程,每個過程都分別進行不同的處理,了解了這其中的一些原理,對c編程的理解大有益處
⑵ 如何使用gcc編譯器
雙擊GCC安裝包,mingw-get-setup.exe,點擊Install安裝
2
點擊Change選擇安裝路徑,盡量不要有中文和空格,
3
將package 下面的mingw-***和mingw32-***和msys-**。都勾選上,等待下載安裝,直到勾選框全部變成土灰色。
找到安裝目錄的bin目錄,將路徑右鍵復制下來。
找到計算機,右鍵,屬性。點擊 高級系統設置
找到下面的 環境變數 點擊
在系統變數裡面找到 Path變數,雙擊出現下面輸入框,在變數值的末尾添加剛剛復制的bin目錄,並在最後加上英文狀態下 的分號(;)。點擊確定。
測試是否安裝成功,在cmd命令提示符裡面輸入 gcc --help 回車鍵,
出現以下信息,表示安裝成功
EditPlus 3 安裝完成之後的界面點擊File 下的 new C/C++
出現以下測試代碼,保存到指定目錄,最後不要有空格和中文,我保存到E:/My/Test下面測試。文件名為test.c
命令提示符窗口進入到 E:/MyTest 下 用dir 命令顯示當前目錄下的所有文件。
使用gcc 命令編譯 命令格式 如下 gcc test.c - o test 回車鍵
編譯完成
直接輸入test運行,輸出hello,world.
測試完成
⑶ c語言gcc/g++編譯器如何獲取鍵盤功能鍵輸入(例如方向鍵,退格等)
so. ealsy
⑷ c語言gcc編譯器如何處理不同編碼的中文txt文件
純linux環境下iconv庫可以干這些
⑸ 用gcc編c語言怎樣輸入中文
可不可以輸入中文跟scanf沒有關系,關鍵在於操作系統是否支持顯示中文字元。
scanf(..);輸入中文是可以的
⑹ 如何在在C語言裡面輸入漢字
定義一個字元串變數,這個變數的值中就可以輸入漢字了。
漢字是多位元組的,一個char放不下,可以使用字元數組,但需要給數組分配空間,或者使用string
例如:
#include<stdio.h>
intmain(void)
{
chara[7]="你好";
scanf("%*s",a);
printf("%s
",a);
return0;
}
(6)gcc編譯器如何輸入漢字擴展閱讀:
其實從語言學的角度來說,英文是線性的一維語言,而中文是平面的二維語言。而程序恰恰是線性的一維的。也就是說,線性的英文正好能契合線性的程序。所以,中文並不適合現有的編程方式。
然而,未來的發展可能超出你的想像。未來可能會有多維度的量子計算,也許二維的中文反而會比一維的英文更適合。
程序員對比過中文編程和英文編程就會明白,中文編程反而會提高門檻。因為編程的核心根本就不是什麼語言,而是程序化思維方式。最簡單的並不是英文編程,而是數學符號編程,極度抽象,普通人很難理解,但代碼量特別少。
⑺ C語言下,如何將剛才輸入的漢字顯示出來
#include<iostream.h>
void main()
{char str[100];
cin>>str;
cout<<str<<endl;
}
精簡了哈
⑻ 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的一大亮點。
⑼ C 語言編程時如何打漢字
直接不就能輸入么?你用的什麼ide?
vc,dev c++都能直接輸入的,tc的話就需要ucdos之類的平台了,不然顯示的都是亂碼
ucdos是一個漢字系統,如果你經歷過dos,應該不會陌生的。不過現在都用xp了,最好還是換個windows下的ide比較方便點。