零基礎學C語言 HelloWorld

weixin_34208185發表於2017-12-21

本文的開發環境為:

Ubuntu 16.04
GNU Make 4.1
複製程式碼

HelloWorld

新建一個hello.c檔案:

#include <stdio.h>
int main(int argc, char *argv[]){
    printf("%s\n","Hello world.");
    return 0;
}
複製程式碼

這段程式碼很簡單,第一行是引入標頭檔案,然後定義一個main函式,其中main函式的第一個引數是執行時候傳入的引數個數,第二個是傳入的引數

編譯

make ./hello
複製程式碼

執行

./hello
複製程式碼

如果一切正常的話,命令列就會輸出HelloWorld

Makefile

make命令執行時,需要一個Makefile檔案,以告訴make命令需要怎麼樣的去編譯和連結程式。那為什麼我們上面沒有Makefile檔案也可以構建呢?那是因為make內建了一些預設規則,以上的規則大概是這樣:

make ./hello
CFLAGS="-Wall" make ./hello
複製程式碼

其中的CFLAGS="-Wall" make ./hello這行命令告訴編譯器要報告所有的警告。接下來我們自己來寫一個Makefile檔案。新建一個Makefile檔案,寫入一下內容:

CFLAGS=-Wall -g
clean:
    rm -rf hello
複製程式碼

要注意的一點是rm -rf前面是一個TAB,而不是四個空格。其中-g表示加入除錯程式碼,可以使用GDB進行除錯

然後來執行一下命令:

make clean
make ./hello
複製程式碼

這時候就可以執行了

相關文章