奇思妙想 · 2024年 3月 10日 0

源代码一定需要包含头文件吗?

30 次浏览

头文件并非一定需要包含进来,而是有需要的时候包含进来,以让编译器了解类型声明或宏代替。

  • 例如,int main() { return 0; } 不需要包含任何头文件即可编译,所有词法token默认都可由编译器正确解析。
  • 即使是用到C库函数,也不一定要包含stdxxx.h, 在代码开始增加它的声明即可。链接器知道从libc中找到对应函数实现即可。
  • Go语言用import引入库,如果没有使用库,也可以没有import语句。比如使用print而不是fmt.Println, 不需要import "fmt".
  • C# 不需要头文件,类实现和对外接口可在同一个文件里面。

声明包

  • Go语言一定需要声明所属的包,即package xxx语句一定需要出现在源代码开始。