OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4825|回复: 1

c语言头文件包含问题

[复制链接]

80

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
531
金钱
531
注册时间
2013-7-4
在线时间
12 小时
发表于 2014-3-24 17:55:32 | 显示全部楼层 |阅读模式
突然想出来一个问题,因为看到了一个代码规范上写要避免重复依赖所以有了以下问题:
我typedef enum {
a=1,
b=2
}type

然后我一个文件a.c里的函数需要用到这个type为参数比如void function(type type1),并且,这个文件的同名头文a.h件需要声明这个函数

然后第二个文件b.c也有函数需要用到type的函数void function2(type type2)同样同文件b.h也需要声明

那我这个enum需要怎么放才对呢?因为4个文件都需要这个enum type,我试了下另外加了一个.h文件,包含在另外两个.h文件中,它又说我重定义了

这要怎么办呢?













正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2014-3-24 18:29:47 | 显示全部楼层
#ifndef STATE_H
#define STATE_H 

//避免重复定义
#ifdef   STATE_GLOBALS
#define  STATE_EXTERN
#else
#define  STATE_EXTERN  extern
#endif

typedef enum  
{
SHOW_MAIN, SHOW_ADJ,  
}STATE; 

STATE_EXTERN STATE State;
STATE_EXTERN u8 BinNumb;
这样可以避免重复定义
态度决定一切
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-13 06:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表