C學習筆記

?發表於2017-09-30

GCC的編譯流程分為四部:

預處理(Pre-processing)->編譯(compling)->彙編(Assembling)->連結(linking)
預處理:處理#include、#define、#ifdef等巨集命令
編譯:把預處理完的檔案編譯為彙編程式.s
彙編:把彙編程式.s編譯為.o二進位制檔案
連結:把多個二進位制檔案.o集合連結成一個可執行檔案
這種編譯方式在檔案比較多的時候很複雜,這個時候就可以寫好一個makefile來編譯

Makefile的編寫

# this is make file
Hello.out:max.o min.o hello.c   //Hello.out檔案的組成
    gcc max.o min.o hello.c -o hello.out        //執行gcc語句生成.out檔案
max.o:mac.c                         //.o檔案不存在的時候執行下面gcc命令
    gcc -c max.c                    
min.o:min.c
    gcc -c min.c複製程式碼

main函式中的return

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

Linux 檢視命令是否執行成功
echo $? 如果輸出的0,那麼說明該命令執行成功
make && make install 當make命令執行後return 0的時候,才會執行make install

main函式的引數

#include <stdio.h>
int main(int argc,chat*argv[])
{
    //輸出的是執行該檔案是的引數個數
    printf("argc is %d \n",argc);
    int i;
    //迴圈輸出每個引數的內容
    for(i=0;i<argv;i++)
    {
        printf("argc[%d] is %s\n",i,argc[i]);
    }
    return 0;
}複製程式碼

最後,學習筆記如有錯誤,請大家指出,謝謝

相關文章