int mian() { // 拼寫錯誤:mian 而非 main
// ...
}
# GCC/Clang
undefined reference to `main'
# MSVC
LNK2019: unresolved external symbol main referenced in function "int __cdecl invoke_main(void)"
# 運行時 (極少見編譯通過)
entry point not found
C 標準規定程序入口為 `main` (或受限環境的 `WinMain`/`wWinMain`/`DllMain`)。連接器在構建可執行文件時尋找 `main` 符號作為入口點,**拼寫錯誤導致符號缺失**,連接階段失敗。
| 簽名 | 標準 | 說明 |
|---|---|---|
| `int main(void)` | C89/C99/C11/C18 | 無參數,推薦 |
| `int main(int argc, char *argv[])` | C89/C99/C11/C18 | 命令行參數:`argc` 參數個數,`argv` 參數字符串數組 |
| `int main(int argc, char **argv)` | 等價 | 同上 |
| `void main()` | **非標準** | 部分編譯器兼容,但返回值丟失,嵌入式/舊教材常見,請避免 |