文件名问题

来源:5-4 条件编译【掌握实际应用场景】

天蝎卧凤先生

2021-06-19

要实现 a.h 里定义的函数,必须有个 a.c 文件吗?.c文件的名字可以和.h文件的名字不一样吗?如果可以,那编译器怎么寻找它实现在那里呢?

写回答

1回答

bennyhuo

2021-06-19

必须提供相应的函数实现,但不一定在c文件当中,头文件其实也可以,但要注意被多个文件引入会有重复定义的问题,这要同学理解下宏展开的机制,我们在课程讲预编译的一章有提到。

C文件的名字不必与头文件一致,这更多是一种约定。编译完成之后每一个符号都会有自己的地址,链接器会负责完成符号到地址的转换工作。

0
6
bennyhuo
回复
天蝎卧凤先生
调用这些函数的时候,引入头文件的目的是为了拿到函数原型,不然你的代码就无法通过编译。
2021-06-19
共6条回复

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程