首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

Dll中的一段C代码,关于struct,看不懂。该如何处理

2012-04-23 
Dll中的一段C代码,关于struct,看不懂。C/C++ codestruct real_pcre/* declaration the definition is pri

Dll中的一段C代码,关于struct,看不懂。

C/C++ code
struct real_pcre;                 /* declaration; the definition is private  */typedef struct real_pcre pcre;


这是pcre的pcre.h中的一段代码,配套的还有pcre.dll和pcre.lib
第一行是什么意思呢?它没有明确定义struct,难道可以隐藏起来?
为什么我自己编的dll,采用这种格式就运行不了了?



[解决办法]
这是前向声明。
real_pcre定义在其它.h文件中。
[解决办法]
前置声明,你看看其它地方有没有定义呢?
[解决办法]
向前申明
[解决办法]
一个前向声明,在其他的文件中有该结构体的定义,使用前向声明的时候,是受限制的,也就是说不能定义改的对象,因为你并不知道其类中的成员,也不知道应该分配多大的存储空间,可以定义改类的指针,也可以用在函数的参数和返回类型。
[解决办法]
也可能是为将来留的,程序中用到吗?
[解决办法]
就像
void fun();
int main()
{
......
}

void fun()
{
......
}
一样的道理,让编译器知道有这么个东西。

热点排行