全局变量的问题

原创 2007年09月25日 09:58:00

         今天在工程里添加了一个专门放置全局变量的头文件,在别的很多C文件中进行了引用,没想到编译的时候老是提示Duplicate Symbal  _G7Task........  。

        说来自己也太差劲了,竟然忘了在C文件中添加extern关键字来引用这个外部变量。而且要命的是在头文件中是不能赋初值的,否则会遇到同样的链接错误。

        在华为的面试题中也提到了这个问题,是这样解答的:

       1、如何引用一个已经定义过的全局变量?

答案:extern

可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错

2、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答案:可以,在不同的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

     看来自己以后还要多多学习啊,往往是一些细微末节的东西没有掌握好!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++多线程中用临界区控制全局变量的访问冲突问题

使用C++有段时间了,但是一直忙于项目,没有关注过多线程相关知识,前几天帮同学处理一个多线程的bug时花费了很多时间,终下定决心最近搞定这个问题。 关于临界区使用在前面一篇文章《C++多线程编程简单...

C/C++全局变量的定义与引用问题

最近在忙live555项目;说实话这是我做的第一个大型项目。虽然工作这么久还真是第一次做这么大项目;感觉自己这一年还真是没有一点进步;加个全局变量废了我半天力。废话不多说,切入正题 全局变量,最早...

c-c+ 全局变量的一些细节问题

c++中的全局变量 1.可以定义的位置   main函数所在文件的函数体外   其它cpp文件的函数体外  不能放在h文件中,因为h文件可能会有多次引用,会爆重复定义 2.引用方式,c++里...

JavaScript中全局变量的问题

这里给大家介绍js中一个新手容易忽略的小细-全局变量。 全局变量的问题在于,你的JavaScript应用程序和web页面上的所有代码都共享了这些全局变量,他们住在同一个全局命名空间,所以当程序的两个...

关于C未初始化全局变量的连接问题

关于C语言全局变量定义在头文件中但是没有初始化也可以编译连接成功的问题!

静态库中的全局变量的问题

lib

iphone开发内存管理之二──静态全局变量的内存问题

我们在项目中,有时需要一些全局变量存储一些基本信息,那么这些全局的变量内存又是如何管理的呢?下面是网友分享的经验,具体的网址我记不清了,我在这里直接拿过来放到我的博客了,在此向写本文的作者致敬!正是由...

回调函数的返回值给全局变量的赋值问题

问题:在js中,回调函数的返回值对全局变量进行赋值,网上的解决方案主要是把异步改为同步 async: false,具体实现如下。

Android开发调试-static静态变量与如何定义全局变量的问题

static修饰的静态变量,使用很方便,在不同的类和包中都可以使用,在虚拟机中单独占用内存,没错,这些都是它们的优点,不过在项目上线后,才发现static有一些不太好的地方。 在查看项目的崩溃信息时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)