我正在练习avr并且我有一个问题,在创建库时,最好制作一个包含函数声明的头文件和包含代码的ac文件(函数定义),或者只创建一个头文件它包含声明和函数定义
答案 0 :(得分:1)
这两个选项适用于不同的情况:
答案 1 :(得分:0)
头文件只包含作为定义声明的原型,包括变量和函数。它可以包含在许多其他文件中。
函数定义是定义实现的地方,它应该只有一个。
如果将函数定义放在头文件中并且它包含在多个C文件中,则在编译阶段会出现多个定义错误,特别是在将多个对象(包括该函数定义)链接到一个最终对象期间。
内联函数有一种必须放在头文件中的情况,因为它在编译阶段被扩展,并嵌入到调用函数中,因此编译器必须通过包含该头文件来了解编译期间的实现。