Why main() cannot be declared as a static in C?
问题 Why main must be declared as if it has external linkage? Why it should not be static? what is meant by external linkage?? 回答1: Because you link the startup files to your program, which contains (usually) assembler code that calls your main. If main were static, that code wouldn't be able to call main. external linkage means that other so-called translation-units can see your symbol declared extern in its own translation-unit. So, your main is extern, and it will have an entry in its