最近使用C接口對數據庫進行插入操作。突然使用到C語言,大學忘得差不多了,撿起來啃啃:
開始看UNIX環境高級編程。
學會了用gcc編譯hello world程序。。慚愧。。。
Fedora 15在安裝好之后已經自帶了最新的gcc編譯器,這可以通過命令:$ gcc -v來顯示。
結果:gcc 版本 4.6.0 20110530 (Red Hat 4.6.0-9) (GCC)。當然上面還有一些配置語句,這里就不管它了。
在主文件夾下新建一個hello.c文本文檔,里面寫上可以倒背如流的hello world:
#include<stdio.h>
int main()
{
printf("Hello World!\n");
}
將源文件保存為hello.c,開始進行編譯:在終端輸入:gcc hello.c,這時候在當前目錄下生成一個a.out文件。
終端內輸入:./a.out(斜杠前面有一點,只輸入a.out是不能運行的),hello world就成功打印出來了。
說明:在默認情況下,編譯成功完成后,會在當前路徑下,生成一個名為a.out的文件,然后執行$./a.out便可打印結果,但通常可以通過選項-o來指定自己的可執行程序名稱;
所以一般采用下列方式:
將源文件保存為hello.c,開始進行編譯
$gcc -o hello hello.c
編譯成功完成后,在當前路徑下,生成一個名為hello的文件,然后執行
$./hello
在屏幕上,你將會看到打印結果:Hello,Linux.
這里會產生一個問題, 當你編譯另外一個C程序時,會生成一個新的a.out,這將覆蓋前面產生的文件。
面對這種情況,我們有一種辦法可以避免它。
我們用 gcc -o hello hello.c來代替前面的gcc hello.c,這時候產生的文件就是hello,然后./hello,同樣可以達到目的。當然,大家可以隨便起一個自己喜歡的名字。