main函數(shù) 就是C程序
創(chuàng)新互聯(lián)建站成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元吉林做網(wǎng)站,已為上家服務(wù),為吉林各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
C程序生成可執(zhí)行程序
就是編譯
任何一個編譯器都可以做到
如果你要寫程序來執(zhí)行這個過程 那就是自己寫一個編譯器了。
C語言必須要有一個main函數(shù),而且只能有一個main函數(shù),這個函數(shù)叫主函數(shù),它是第一個運行的函數(shù)。
一般來說,主函數(shù)應(yīng)放在最后,其他被調(diào)用函數(shù)放在主函數(shù)前面。這樣的話,其他被調(diào)用函數(shù)可以不予先聲明。如果其他被調(diào)用函數(shù)放在了主函數(shù)后面,則在主函數(shù)之前一定要事先對被調(diào)用函數(shù)加以聲明。
C語言中的主函數(shù)固定名為:main(),每個系統(tǒng)中必須有一個,且只能有一個。它 是第一個運行的函數(shù)。
一般情況下,main()寫在文件的最后面,其他被調(diào)用的函數(shù)放在前面,這樣定義函數(shù)之前可以不加聲明,如果放在主函數(shù)之后,則必須先聲明,再定義,再被調(diào)用。
當(dāng)然不一定啊,但是沒有main函數(shù)不能編譯成可執(zhí)行程序,只能編譯成中間文件(一些二進(jìn)制文件)。這些中間文件也是有用的,比方說一個項目中有多個C文件時,每個可執(zhí)行程序的源碼中只會有一個main函數(shù)。將功能模塊化可以減少重復(fù)編譯,提高工作效率。另外中間文件還可以用來編譯成靜態(tài)或動態(tài)鏈接庫等。
例:demo1.c
有main,demo2.c和demo3.c沒有。編譯時這樣:
gcc -c demo2.c -o demo2.o
gcc -c demo3.c -o demo3.o這樣你修改demo1.c的時候不用重新編譯2和3了:
gcc demo1.c demo2.o demo3.o -o demo通常這些依賴關(guān)系寫在Makefile里面就可以了,可以只用一個make命令解決依賴關(guān)系。
不懂追問
這屬于C編譯器的問題。C編譯器將main()視為程序的入口標(biāo)號,因為ISO對C語言標(biāo)準(zhǔn)化的關(guān)系,使得開發(fā)出的編譯器也必須遵守ISO標(biāo)準(zhǔn)。
當(dāng)然如果你自己能寫C編譯器,把入口函數(shù)改為其它也是可行的,只不過不能被國際所認(rèn)同。
一個“工程”(若干文件組成的一個整體,目的是為了完成某項任務(wù),這就是一個工程),必須有一個主函數(shù)。
主函數(shù)的意義在于,它標(biāo)志著整個工程的入口點,讓你寫的程序,從這個點開始真正的執(zhí)行。
所以,一個工程是必須有主函數(shù)的。但這個工程中的某一個單獨的文件,則可以沒有主函數(shù)(但至少要有一個文件,有主函數(shù))。
不知表述清楚沒有
每個c程序文件都必須有一個main()函數(shù).
當(dāng)一個程序只能作為另一個程序的子程序的時候,那么該程序沒有主函數(shù)。主函數(shù)的位置不固定, 并且可以調(diào)用程序中的其他函數(shù) , 而其他函數(shù)不可以調(diào)用 main() 函數(shù) 。 函數(shù)中不可以再定義其他的函數(shù)。
1、main函數(shù)是程序唯一入口。也就是說,程序運行時,首先從main函數(shù)開始執(zhí)行。
2、一個程序,必須要有一個main函數(shù),而且也只能有一個main函數(shù)。
擴(kuò)展資料:
C編譯器允許main()函數(shù)沒有參數(shù),或者有兩個參數(shù)?(有些實現(xiàn)允許更多的參數(shù),但這只是對標(biāo)準(zhǔn)的擴(kuò)展)。這兩個參數(shù),一個是int類型,一個是字符串類型。第一個參數(shù)是命令行中的字符串?dāng)?shù)。按照慣例(但不是必須的),這個int參數(shù)被稱為argc(argument count)。
第二個參數(shù)是一個指向字符串的指針數(shù)組。命令行中的每個字符串被存儲到內(nèi)存中,并且分配一個指針指向它。按照慣例,這個指針數(shù)組被稱為argv(argument value)。
系統(tǒng)使用空格把各個字符串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最后的第一個字符串賦給argv[1]?,等等。
參考資料來源:百度百科-main函數(shù)