您好,想问一下是否可以将多个 .c 文件与一个头文件连接起来,例如,peripheral.h 将包含 motor.c 和 antena.c 的函数原型?
如果我尝试它,它会起作用,我只是想知道它是否被禁止或违反最佳实践。
// peripheral.h
#ifndef PERIPHERAL_H
#define PERIPHERAL_H
// Function declarations from motor.c
void motorFunction();
// Function declarations from antena.c
void antenaFunction();
#endif // PERIPHERAL_H
// motor.c
#include "peripheral.h"
void motorFunction() {
// Function implementation
}
// antena.c
#include "peripheral.h"
void antenaFunction() {
// Function implementation
}
// main.c
#include "peripheral.h"
int main() {
motorFunction();
antenaFunction();
return 0;
}
是的,使用单个头文件来描述多个编译单元的接口是可以的。
通常每个编译单元都有一个标头,但有时合并属于同一子系统的多个标头可以使事情变得更容易。
这种风格经常在制作小型编译库时使用。源文件将被编译成一个二进制库,然后库将作为 1 个头文件和 1 个二进制文件分发。