今天學習c++,突然想到為什麼程式要從main函式開始執行。
也忘記老師有沒有講過,甚至有些遺忘。
擔心之餘開始前往csdn進行查詢學習,終於在乙個大神部落格學習到了,現在分享給大家。
main只是開發工具所規定的乙個特殊函式名稱而已。它既不是程式的入口,也不是必須要有的函式。
程式的入口點記錄在可執行檔案中的乙個資料,該資料標明程式從哪個位置開始執行,這個資料是連線程式的時候由link.exe確定的,可以把程式的入口點 指定為任意函式,甚至可以自己編輯可執行檔案修改程式的入口點。在預設情況下,link.exe會連線開發工具中帶有的乙個obj檔案,並設定該obj中 的固定函式為程式的入口點,這個函式執行後會做一些初始化的事情,然後呼叫main函式。在執行連線的時候,如果不連線這個obj,程式中就可以沒有 main函式。
//改變主程式的入口
#include
#pragma comment(linker,"/entry:f__k")
void
f__k()
C語言main函式
c語言中main函式是可以帶引數的,平時寫倒是沒怎麼用這個引數,學習了一下這個引數。c語言規定了main函式只能有兩個引數,並且其型別也規定了,習慣上把他們寫成 main int argc char argv 第乙個引數是整形,第二個引數是指向字串的指標陣列,為什麼這麼定義?有什麼用?c語言還規定了...
C語言main 函式詳解
c的設計原則是把函式作為程式的構成模組。main 函式稱之為主函式,乙個c程式總是從main 函式開始執行的。在最新的 c99 標準中,只有以下兩種定義方式是正確的 int main void 無引數形式 int main int argc,char argv 帶引數形式 int指明了main 函式...
C語言main 函式詳解
c的設計原則是把函式作為程式的構成模組。main 函式稱之為主函式,乙個c程式總是從main 函式開始執行的。在最新的 c99 標準中,只有以下兩種定義方式是正確的 int main void 無引數形式 int main int argc,char argv 帶引數形式 int指明了main 函式...