-2

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

4

1 回答 1

5

标头的全部意义在于公开声明。如果您希望MOTOR(int,int,int)除定义它的源文件之外的任何源文件都能看到您的实现,请将其放在标题中。

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

电机.h

#ifndef MOTOR_H__
#define MOTOR_H__

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

#endif

主项目.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我已经声明了一个变量和一个函数。希望你能明白。以下是实现:

主项目.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" );
}

马达.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 年代的热门单曲中产生引人入胜的合唱。

于 2013-03-22T14:45:37.850 回答