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

关于extern的有关问题

2012-02-09 
关于extern的问题请问各位高手,以下情况是否导致错误:在a.h中有这样一条语句:externintdebug在b.c中引用a

关于extern的问题
请问各位高手,以下情况是否导致错误:
在a.h中有这样一条语句:
            extern   int   debug;
在b.c中引用a.h:
            #include   "a.h "
但在b.c中没有关于debug   的定义。


这样可以吗?会不会导致错误?为什么?
谢谢!!!!

[解决办法]
会引起LNK2001错误
[解决办法]
在.c文件中做判断,需要用的就定义,不需要的就不定义,怕重复定义就用宏设置
[解决办法]
#define _DEBUG_
然后再在cpp文件里使用#ifndef/ifdef之类的进行条件编译
[解决办法]
不一定会导致错误。
extern int debug;
这一句正是要声明一个在别的某个地方定义的全局变量,比如它可能在somewhere.c中定义,也可能已经编译成库somelib.lib中可以直接使用,只要你在链接(link)时编译并包含了这些文件就没有问题了。

热点排行