C程序總是從main函數(shù)開始執(zhí)行。main函數(shù)的原型是:
int main( int argc, char *argv[] );
其中,argc是命令行參數(shù)的數(shù)目,argv是指向參數(shù)的各個指針?biāo)鶚?gòu)成的數(shù)組。
當(dāng)內(nèi)核執(zhí)行C程序時(使用一個exec函數(shù)),在調(diào)用main前先調(diào)用一個特殊的啟動例程。可執(zhí)行程序文件將此啟動例程指定為程序的起始地址——這是由連接編輯器設(shè)置的,而連接編輯器則由C編譯器(通常是cc)調(diào)用。啟動例程從內(nèi)核取得命令行參數(shù)和環(huán)境變量值,然后為按上述方式調(diào)用main函數(shù)做好安排。
本篇博文內(nèi)容摘自《UNIX環(huán)境高級編程》(第二版),僅作個人學(xué)習(xí)記錄所用。關(guān)于本書可參考:http://www.apuebook.com/。
新聞熱點
疑難解答