笨辦法學C 練習1:啓用編譯器

練習1:啓用編譯器

原文:Exercise 1: Dust Off That Compilerhtml

譯者:飛龍git

這是你用C寫的第一個簡單的程序:github

int main(int argc, char *argv[])
{
    puts("Hello world.");

    return 0;
}

把它寫進 ex1.c 並輸入:編輯器

$ make ex1
cc     ex1.c   -o ex1

你的編譯器可能會使用一個有些不一樣的命令,可是最後應該會產生一個名爲ex1的文件,而且你能夠運行它。函數

你會看到什麼

如今你能夠運行程序並看到輸出。code

$ ./ex1
Hello world.

若是沒有,則須要返回去修復它。htm

如何使它崩潰

在這本書中我會添加一個小節,關於如何使程序崩潰。我會讓你對程序作一些奇怪的事情,以奇怪的方式運行,或者修改代碼,以便讓你看到崩潰和編譯器錯誤。ci

對於這個程序,打開全部編譯警告從新構建它:文檔

$ 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.
$

如今你會獲得一個警告,說puts函數是隱式聲明的。C語言的編譯器很智能,它可以理解你想要什麼。可是若是能夠的話,你應該去除全部編譯器警告。把下面一行添加到ex1.c文件的最上面,以後從新編譯來去除它:get

#include <stdio.h>

如今像剛纔同樣從新執行make命令,你會看到全部警告都消失了。

附加題

  • 在你的文本編輯器中打開ex1文件,隨機修改或刪除一部分,以後運行它看看發生了什麼。

  • 再多打印5行文本或者其它比"Hello world."更復雜的東西。

  • 執行man 3 puts來閱讀這個函數和其它函數的文檔。

相關文章
相關標籤/搜索