1. 程式人生 > >main函數的本質

main函數的本質

編譯 [] c編譯器 OS 命令 GC family 命令行 指定

main函數的本質

1.main函數是操作系統調用的函數

2.操作系統總是將main函數作為應用程序的開始

3.操作系統將main函數的返回值作為程序的退出狀態


main函數的參數

程序執行時可以向main函數傳遞參數

int main()

int main(int argc)

int main(int argc,char* argv[])

int main(int argc,char* argv[],char* env[])


argc--命令行參數個數

argv--命令行參數數組

env--環境變量數組



gcc編譯器的常見用法:

gcc a.c b.c c.c


argc ----------> 4

argv[0]---------->gcc

argv[1]---------->a.c

argv[2]---------->b.c

argv[3]---------->c.c



面試中的小問題

main函數一定是程序執行的第一個函數?

不一定 ,假定我們使用了gcc屬性關鍵字,可以指定在main函數之前執行一個函數,在main函數之後執行一個函數,這樣的屬性關鍵字在BCC編譯器中是沒有的,那麽main函數一定是第一個執行的函數

main函數的本質