我有一个函数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
。
答案 0 :(得分:5)
标题的重点是公开声明。如果您希望任何源文件看到MOTOR(int,int,int)
的实现,而不是定义它的源文件,则将其放在标题中。
现在,如果您在其他地方声明了另一个函数PWMe(int,int,int)
,那么同样适用。要使MOTOR
函数能够调用它,您需要在标头中公开它。我猜它是在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年代命中单曲的吸引人的合唱。