【发布时间】:2016-03-18 04:28:50
【问题描述】:
假设我们有一些 C 源文件,例如 file1.c、file2.c 和 main.c。我们的功能如下:
file1.c
|---> file1Func1()
|---> file1Func2()
file2.c
|---> file2Func1()
|---> file2Func2()
主文件使用这些函数。现在我很自然地在头文件file1.h和file2.h中创建并添加相应的函数原型,然后将这些头文件包含在main.c中以使用这些函数。
如果我有一个包含一千多个源 (C) 文件的非常大的项目,我是否应该始终为每个源文件创建一个标头(然后添加函数原型)。然后包含标题以使用功能?
或者使用 extern 来使用在别处(在其他源文件中)定义的函数,并依赖链接器在链接期间从目标文件中搜索和获取函数?
注意:使用后一种方法会触发 MISRA 没有函数原型的警告。
【问题讨论】:
标签: c header prototype extern misra