在linux下使用make编译是已经.h文件中包含了类型,但是编译提示未知类型名
用代码块功能插入代码,请勿粘贴截图
mytbf.c
1 #include "mytbf.h"
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <signal.h>
5 #include <unistd.h>
mytbf.h
1 #ifndef MYTBF_H__
2 #define MYTBF_H__
3
4 #define MYTBF_MAX 1024
5
6 struct mytbf_t *mytbf_init(int cps,int burst);
7 int mytbf_fetchtoken(mytbf_t *ptr,int size );
8 int mytbf_returntoken(mytbf_t *ptr,int size);
9 int mytbf_destory(mytbf_t *ptr);
10
11 #endif
1: main.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <unistd.h>
4 #include <sys/types.h>
5 #include <sys/stat.h>
6 #include <errno.h>
7 #include <signal.h>
8 #include <fcntl.h>
9
10 #include "mytbf.h"
运行结果及报错内容
In file included from main.c:9:0:
mytbf.h:7:22: 错误:未知的类型名‘mytbf_t’
int mytbf_fetchtoken(mytbf_t *ptr,int size );
^
mytbf.h:8:23: 错误:未知的类型名‘mytbf_t’
int mytbf_returntoken(mytbf_t *ptr,int size);
^
mytbf.h:9:19: 错误:未知的类型名‘mytbf_t’
int mytbf_destory(mytbf_t *ptr);
^
main.c: 在函数‘main’中:
main.c:21:3: 错误:未知的类型名‘mytbf_t’
mytbf_t *tbf;
^
main.c:27:7: 警告:从不兼容的指针类型赋值 [默认启用]
tbf = mytbf_init(CPS,BURST);
^
main.c:79:17: 错误:‘def’未声明(在此函数内第一次使用)
mytbf_destory(def);
我的解答思路和尝试过的方法
我感觉是main函数有问题,网上也没有确切解释
我想要达到的结果
求帮忙解答一下问题