這是你用C寫的第一個簡單的程序:
int main(int argc, char *argv[])
{
puts("Hello world.");
return 0;
}
把它寫進 ex1.c 并輸入:
$ make ex1
cc ex1.c -o ex1
你的編譯器可能會使用一個有些不同的命令,但是最后應該會產(chǎn)生一個名為ex1的文件,并且你可以運行它。
現(xiàn)在你可以運行程序并看到輸出。
$ ./ex1
Hello world.
如果沒有,則需要返回去修復它。
在這本書中我會添加一個小節(jié),關(guān)于如何使程序崩潰。我會讓你對程序做一些奇怪的事情,以奇怪的方式運行,或者修改代碼,以便讓你看到崩潰和編譯器錯誤。
對于這個程序,打開所有編譯警告重新構(gòu)建它:
$ rm ex1
$ CFLAGS="-Wall" make ex1
cc -Wall ex1.c -o ex1
ex1.c: In function 'main':
ex1.c:3: warning: implicit declaration of function 'puts'
$ ./ex1
Hello world.
$
現(xiàn)在你會得到一個警告,說puts函數(shù)是隱式聲明的。C語言的編譯器很智能,它能夠理解你想要什么。但是如果可以的話,你應該去除所有編譯器警告。把下面一行添加到ex1.c文件的最上面,之后重新編譯來去除它:
#include <stdio.h>
現(xiàn)在像剛才一樣重新執(zhí)行make命令,你會看到所有警告都消失了。
ex1文件,隨機修改或刪除一部分,之后運行它看看發(fā)生了什么。"Hello world."更復雜的東西。man 3 puts來閱讀這個函數(shù)和其它函數(shù)的文檔。