读书人

静态常量多文件引用疑问解决方法

发布时间: 2012-03-16 16:34:56 作者: rapoo

静态常量多文件引用疑问
在C语言中需要用到很多的数据,因此把这些数据单独的放在一个.C文件中,这个.C文件没有.H文件来声明这些数据
.C文件中的数据都定义成了STATIC CONST类型的,通过一个数据指针来调用这些数据比如STATIC CONST UCHAR DATA1[1]={0};DATA2[1]={0}; STATIC CONST UCHAR D_POINT[2]={DATA1,DATA2};
在另外一个文件中include上面那个.C文件。
但是在应用函数中,函数的参数类型是 UCHAR类型的,编译后不能够引用到D_POINT这个指针报告,声明了 但是没有使用
虽然可以用.H文件来装这些数据编译也可以通过,但觉得不好,而且我看到别人写的程序直接INCLUDE那个.C文件可以引用那个STATIC CONST指针啊
很不明白为什么
希望高手能帮我看看
到底是程序写的有问题,还是编译软件需要设置下什么
还有就是怎么才能够实现调用
那些数据必须定义成CONST的因为需要将这些数据要保存在ROM中

[解决办法]
include xx。c当然可以,但是不安全~
除非你对你的程序很清晰~

我理解,include xx.c的时候,就直接把xx.c文件一起放到你的yy.c就可以看成是一个文件了~
so……
[解决办法]
如果是多个文件分别#include xx.h那么这些static const的东西在多个编译单元内实现了多次,由于是内部链接属性,所以不会有符号重定义的报错.
#include xx.h
#include xx.c
本质上没有什么区别,都是把文件放在一起
如果你愿意
#include xx.jpg也行

读书人网 >C语言

热点推荐