[STM32F4] 如何定义一个变量在多个。c文件中调用

[复制链接]
6001|6
 楼主| eyesmall 发表于 2015-3-6 00:41 | 显示全部楼层 |阅读模式
想定义一个状态标志位    在同一工程中的多个。c文件中被调用   正确的方法怎么弄   。我看到有人这样用,一个标志位在main函数和一个中断函数中各出现一次,两个函数在不同的.c文件中。他在main外面定义一个外部变量 external char t1flag    然后又在中断函数外面如此定义 char t1fla=1    编译没有问题  。我如法**制  只是我的标志位参数在3个.c文件中用到    编译之后显示 重复定义   不明就里              求标准定义方法 ,如何规避重定义错误 .   
ticomi 发表于 2015-3-6 07:52 | 显示全部楼层
在A.c文件定义 int x = 1;
在其它任何文件使用时需要extern int x;

这样即可,使用extern时不要对变量进行赋值!
mmuuss586 发表于 2015-3-6 12:24 | 显示全部楼层

楼上正解;
强仔00001 发表于 2015-3-6 22:07 | 显示全部楼层
在你原来的c文件声明,然后在再在该c文件的头文件外部声明。
如:ad.c中:int i;
在  ad.h中:extern int i;
记住外部声明时不要初始化,否则编译器会报错:extern int i = 0像这种格式是不对的;
小班儿 发表于 2015-3-7 09:51 | 显示全部楼层
二楼正解
小班儿 发表于 2015-3-7 09:51 | 显示全部楼层
百度下,很容易做
 楼主| eyesmall 发表于 2015-3-8 22:27 | 显示全部楼层
谢谢大家的热心帮助  对extern 关键字理解错误导致错误出现 已解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

168

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部