IAR duplicate definitions 错误

来源:互联网 发布:淘宝服装店货源网站 编辑:程序博客网 时间:2024/05/22 05:04

想把以前写的程序按照模块拆开  结果出现了100个duplicate definitions 错误。本菜一脸懵逼, 经过一番学习后 ,总结以下几点:

1.extern 关键字的使用  假设在a.c中定义变量int abc=0; , 在b.c中若想使用abc这个变量的话,就需要这样定义extern int abc;注意三点,第一变量类型不能变a.c中是int b.c中必须还是int。第二在声明外部变量的时候不能再赋值,也就是说extern int abc = 1;这个是错误的。第三如果你想使用的变量是个数组的话 ,声明的时候也要使用数组的形式,而不能是指针。

2.头文件中不宜出现变量的定义,否则很容易出现大量的duplicate definitions 错误,本菜就是因为这点错误导致的!