c - 制作一个简单的C头文件

标签 c header-files

我有一个函数void MOTOR(int left, int back , int right);

该函数运行另一个函数:void PWMe(int left, int back, int right);

MOTOR使用这个和一些全局变量。

我想制作一个包含 MOTOR 的头文件,但不是PWMe (请注意, PWMemainproj.c 中的函数)。

我的第一个问题是,如何制作一个包含 MOTOR 的头文件,使用 PWMe和全局变量 mainproj.c

第二,我要改MOTOR.c组装和 MOTOR.lib .

最佳答案

header 的全部意义在于公开声明。如果您希望 MOTOR(int,int,int) 的实现能够被定义它的源文件以外的任何源文件看到,您可以将其放在 header 中。

现在,如果您在其他地方声明了另一个函数PWMe(int,int,int),那么同样的情况也适用。为了让 MOTOR 函数能够调用它,您需要在 header 中公开它。我猜它是在 mainproj.c 中定义的?

motor.h

#ifndef MOTOR_H__
#define MOTOR_H__

void MOTOR( int left, int back, int right );

#endif

ma​​inproj.h

#ifndef MAINPROJ_H__
#define MAINPROJ_H__

extern const char const *one_hit_wonder;

void PWMe( int left, int back, int right );

#endif

请注意,在 mainproj.h 中我声明了一个变量和一个函数。希望你能明白。以下是具体实现:

ma​​inproj.c

#include "mainproj.h"

const char const *one_hit_wonder = "Yazz";

void PWMe( int left, int back, int right )
{
    printf( "The only way is up, baby\n" );
}

motor.c

#include "motor.h"
#include "mainproj.h"

void MOTOR( int left, int back, int right )
{
    PWMe( left, back, right );
    printf( "For you and me now\n" );
    printf( "\n - %s\n", one_hit_wonder );
}

现在,使用任何参数调用 MOTOR 都应该从 80 年代的热门单曲中产生朗朗上口的合唱。

关于c - 制作一个简单的C头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572875/

相关文章:

c - recv() 在多线程环境中不会被信号中断

c - 为配置宏提供默认值

c++ - 位置未处理的异常:Microsoft C++ 异常:内存位置的 std::length_error

c - #undef 在我的 C 程序中没有按预期工作

c - 我应该在 .h 文件中定义函数还是只声明它们?

c - 如何制作这个正确的链接列表

c++ - strncmp 没有正确匹配

c++ - 柏林噪声和高度图/位图

c - 我的矩阵在可视化和分配上不一样?

c++ - 我应该在哪里包含 <string>?