extern问题

[复制链接]
1777|6
 楼主| gxgclg 发表于 2013-10-29 20:09 | 显示全部楼层 |阅读模式
TE, ST, TEST, AI, lg
vc6.0中两个文件的内容如下:
common.cpp:
bool g_test()
{
return true;
}


main.cpp:
#include<stdio.h>

bool g_test();

int main()
{
if(g_test())
{
printf("true\n");
}
else
{
printf("false\n");
}
return 0;
}
这样使用没问题,这个extern对于函数来讲是可以默认的吗?
xsgy123 发表于 2013-10-29 22:39 | 显示全部楼层
首先把声明部分放头文件里,然后把定义放在.c .cpp之类的文件中(定义中也要引入该头文件)。需要这个函数的时候引入相应的头文件,不然谁知道你的函数是哪里来的。
还有头文件里只放声明,不放定义。
最后,函数的话没必要加extern,全局变量的话需要加。
dfsa 发表于 2013-10-30 16:38 | 显示全部楼层
LS分析的很对
comeon201208 发表于 2013-11-10 20:48 | 显示全部楼层
xsgy123 发表于 2013-10-29 22:39
首先把声明部分放头文件里,然后把定义放在.c .cpp之类的文件中(定义中也要引入该头文件)。需要这个函数 ...

是的啊,针对全局变量跟函数的,该关键字是很重要的
smilingangel 发表于 2013-11-18 20:24 | 显示全部楼层
extern主要适用于不同的.c文件中对你同意变量的调用时的声明
shenmu2012 发表于 2013-11-26 19:58 | 显示全部楼层
extern的用法避免了同一变量同一函数被多次重复定义
comeon201208 发表于 2013-11-27 19:35 | 显示全部楼层
xsgy123 发表于 2013-10-29 22:39
首先把声明部分放头文件里,然后把定义放在.c .cpp之类的文件中(定义中也要引入该头文件)。需要这个函数 ...

这个说的比较好的,关于extern的用法的时很关键的,涉及到对资源的占用与分配的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1653

帖子

1

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