多个 .c 文件连接在一个头文件中

问题描述 投票:0回答:1

您好,想问一下是否可以将多个 .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;
}
c
1个回答
0
投票

是的,使用单个头文件来描述多个编译单元的接口是可以的。

通常每个编译单元都有一个标头,但有时合并属于同一子系统的多个标头可以使事情变得更容易。

这种风格经常在制作小型编译库时使用。源文件将被编译成一个二进制库,然后库将作为 1 个头文件和 1 个二进制文件分发。

© www.soinside.com 2019 - 2024. All rights reserved.