制作一个简单的C头文件

Moh*_*ani -3 c header-files

我有一个功能 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.

pad*_*ddy 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
Run Code Online (Sandbox Code Playgroud)

mainproj.h

#ifndef MAINPROJ_H__
#define MAINPROJ_H__

extern const char const *one_hit_wonder;

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

#endif
Run Code Online (Sandbox Code Playgroud)

请注意,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" );
}
Run Code Online (Sandbox Code Playgroud)

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 );
}
Run Code Online (Sandbox Code Playgroud)

现在,MOTOR使用任何参数进行调用都应该会产生一个来自80年代热门单曲的吸引人的合唱.

  • 我需要为此答案+1,然后为80s ref再次+1.:-) (2认同)