野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15697|回复: 5

volatile定义的声明

[复制链接]
发表于 2015-4-29 03:21:48 | 显示全部楼层 |阅读模式
虽然不是板子的问题,但还是习惯在这里发问。
test.c文件中定义了一个 volatile unsigned char  num;  的全局变量
test.h头文件中的声明是 extern volatile unsigned char num;  还是只需要写 extern unsigned char num; ??
不太确定,求分析下,已经去细看火哥帖子里面volatile 和extern的解释,但是还是没提i到这个。。想确定下。。
回复

使用道具 举报

 楼主| 发表于 2015-4-29 03:25:11 | 显示全部楼层
还有就是头文件中声明函数时,用ertern和不用 区别在哪里??比如:
extern void GPIO_ini(void);
void GPIO_ini(void);
两种声明方式对函数的使用有什么不同的影响么?
回复 支持 反对

使用道具 举报

发表于 2015-4-29 08:35:13 | 显示全部楼层
extern volatile unsigned char num;
回复 支持 反对

使用道具 举报

发表于 2015-4-29 08:36:23 | 显示全部楼层
拽拽暧 发表于 2015-4-29 03:25
还有就是头文件中声明函数时,用ertern和不用 区别在哪里??比如:
extern void GPIO_ini(void);
void G ...

a函数在文件c实现,如果文件b里面要用函数a,那么就要在文件b里面 用 extern 声明函数 a
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-4 03:04:00 | 显示全部楼层
fire 发表于 2015-4-29 08:36
a函数在文件c实现,如果文件b里面要用函数a,那么就要在文件b里面 用 extern 声明函数 a

如果文件b 已经包含文件c 的头文件c.h了呢?是不是就不需要再声明了?
那a函数在c.h中的声明应该带不带extern??
网上说头文件的声明带不带都不影响,是这样么?
回复 支持 反对

使用道具 举报

发表于 2015-5-18 16:19:42 | 显示全部楼层
学习了。。。。。。
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 10:28 , Processed in 0.041156 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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