我有一个函数void MOTOR(int left, int back , int right);
该函数运行另一个函数:void PWMe(int left, int back, int right);
MOTOR
使用这个和一些全局变量。
我想制作一个包含 MOTOR
的头文件,但不是PWMe
(请注意, PWMe
是 mainproj.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
mainproj.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
中我声明了一个变量和一个函数。希望你能明白。以下是具体实现:
mainproj.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/