找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于C语言extern疑问

查看数: 1654 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-6-10 01:22

正文摘要:

先上图 在Gear.h 用uchar或unsigned char都没问题,但在HMI.h里就是不行,只要用uchar所有语句都报inc/HMI.h(8): error C129: missing ';' 但在所有.c里可以写uchar........

回复

ID:734017 发表于 2021-6-11 09:01
wulin 发表于 2021-6-10 06:43
#define uchar unsigned char  宏定义数据类型可以写在所有H文件中,编译器会自动去除重复部分。
extern关 ...

好的,这个可以。。感谢
ID:734017 发表于 2021-6-11 09:00
黄youhui 发表于 2021-6-10 09:08
你为啥要在H文件里面声明一个外部函数 extern void key_service();
#include 关键字已经可以帮你调用外部 ...

哦,好的
ID:487569 发表于 2021-6-10 12:03
因为你的 #define uchar unsigned char  的定义放在main.h头文件,而你的HMI.h里面并没有#include main.h。所以识别不了
ID:298123 发表于 2021-6-10 09:54
用typedef
ID:277550 发表于 2021-6-10 09:10
把有定义#define uchar unsigned char  的头文件,放到最前面引用
ID:592807 发表于 2021-6-10 09:08
你为啥要在H文件里面声明一个外部函数 extern void key_service();
#include 关键字已经可以帮你调用外部函数
ID:213173 发表于 2021-6-10 06:43
#define uchar unsigned char  宏定义数据类型可以写在所有H文件中,编译器会自动去除重复部分。
extern关键字指定数组时要写明长度。如HIM[4];

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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