su-409464 发表于 2015-10-16 15:59:08

xuguomin 发表于 2015-10-16 14:44
不能包含 #include "stm8s.h"

不能包含 stm8.h   请问uint8_t和 bool怎么办???

wifi_uart.h中要用到这个两个 来定义变量怎么办????

su-409464 发表于 2015-10-16 16:04:14

enjoyfreescal 发表于 2015-10-16 14:46
E:\测试\smartsocket_wifi\inc\wifi_sys.h:14:uint8_t      RX1_Buffer;      //接收缓冲...

我终于明白你的意思了!!!!

”数据定义应该在.c文件中定义,在.h文件中声明“

这是最基本的要诀!!!都怪自己基础太差!!!!!

推荐大家看看:”过马路 看左右“ 的博文!!!!!
https://wenku.baidu.com/link?url=N2eq5NgNGCodfDKoE05ttfO8hgy6CqmT0YZwgFK0RiTjsBrAYlY9HBI3Aiavcyu1LT4pYQk0UlR1-u9JklY6yaVcPvLnjRyoGCD7usf8d5m




但是我还是有个疑惑!!!!!如下:

如果 变量被其他很多A.c   B.cC,c...... 都用到
1.那么 是不是 应该在main.c中定义, 然后 A.hB.h.....文件中 extern 声明??????
2.如果是这样, 那么变量多了呢???? 不会 都在main.C 中定义 ,然后其他c文件中extern吧?????

你好我好大家好! 发表于 2015-10-16 16:16:23

帮顶                           

enjoyfreescal 发表于 2015-10-16 16:41:58

su-409464 发表于 2015-10-16 16:04
我终于明白你的意思了!!!!

”数据定义应该在.c文件中定义,在.h文件中声明“


不需要,最简单的方法,如我之前说的,可以定义一个.c文件专门定义变量,同时定义相应.h文件声明相应变量,然后其他.c都包含该.h文件即可(如同你的stm8s.h文件一样,导出都需要)

cxy 发表于 2015-10-16 17:05:34

一些数据类型在库中本来就有

enjoyfreescal 发表于 2015-10-16 17:15:24

su-409464 发表于 2015-10-16 16:04
我终于明白你的意思了!!!!

”数据定义应该在.c文件中定义,在.h文件中声明“


本来应该是有局部文件使用的静态变量的,定义成全局变量的话其他文件不使用你可以不用声明的。
页: 1 [2]
查看完整版本: 工程链接时 出现重复定义问题!!!!