`

全局变量链接时的冲突

 
阅读更多

今天在写程序时,发现了一个全局变量引用时的连接错误,大概意思是为重复定义。

在.h文件中,定义了一个变量,而这个.h文件被多个.c文件引用,在链接时出现该变量被重复定义的错误。原因很简单,在.c文件中,均把这个变量看作是自身的全局变量,故出现上述错误。

 

若想引用别的.c文件中定义的全局变量,则需在想引用该变量的.h文件中加入extern关键字声明该变量,进行变量的使用。

 

然后,想想原先做过的项目中,用到过extern 关键字,详细说明为http://www.cnblogs.com/luliang/archive/2008/08/21/1272746.html

 

 

 

分享到:
评论

相关推荐

    ado连接池实例

    同一进程的所有线程共享同一地址空间,可以访问进程的全局变量。线程通过以下工作改善应用的性能:管理多通信设备的输入。  区分任务的优先级。优先级高的处理紧急的任务。优先级低的处理其他任务。  以下是使用...

    C++使用SOCKET实现TCP-IP协议的通讯最好的DEMO源码

    (TcpClient)result.AsyncState,接着获取数据流传输对象NetworkStream ns = tcpclt.GetStream(),此对象我建议弄成全局变量,以便于其他函数调用,接着我们将挂起数据接收等待,调用ns下的方法BeginRead,入口参数有...

    最新名企标准通用C++面试题,

    不是的,C++里面有些动作不是引起的,比如,全局对象的实例化、全局变量的动态空间申请,等等 下面是一个例子: #include using namespace std; char *des=new char[100]; //全局变量的动态空间申请在程序运行之后...

    php中hashtable实现示例分享

    包括php的数组、什么全局变量、局部变量的作用域等等,php的hashtable拆开来说就是四部分: hash函数:用的是time33的散列函数,将一个字符串的key转换成一个数字一个C数组:用来储存桶(buckets)的两个双向的链表:...

    使用SOCKET实现TCP-IP协议的通讯最好的DEMO源码

    (TcpClient)result.AsyncState,接着获取数据流传输对象NetworkStream ns = tcpclt.GetStream(),此对象我建议弄成全局变量,以便于其他函数调用,接着我们将挂起数据接收等待,调用ns下的方法BeginRead,入口参数有...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 用法:disc 4. 显示用户名(show user) 说明:显示当前用户名 用法:show user 5. 退出(exit) 说明:...

    编译原理全套

    第1章 编译器概述 第2章 词法分析 2.1 词法记号及属性 2.1.1 词法记号、模式、词法单元 2.1.2 词法记号的属性 2.1.3 词法错误 2.2 词法记号的描述与识别 2.2.1 串和语言 ... 12.4.6 letrec表达式和局部变量

    代码生成器-可自定义模版-guns

    系统地讲解了如何构建一个日常生产环境...10. 页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码

    Visual C++实践与提高——串口通信与工程应用篇1

    3.3.1 定义全局变量 55 3.3.2 创建串口 55 3.3.3 发出读写操作 56 3.3.4 读写线程函数的建立 57 3.3.5 关闭串口 61 3.4 采用事件驱动方式的编程方法 61 3.4.1 定义全局变量 61 3.4.2 打开串口及开启事件线程 62 ...

    基于SIP开发软件电话的一些资源(转自YOUTOO)

    并且由于默认LIBC的冲突,需要排除MSVCRT[D]开发库(其中D代表Debug模式下,没有D表示Release模式下),直接使用eXosip的几个主要函数就可以创建一个基本的SIP软电话模型。 其主要流程...

    VeryIDE Bee 互动营销**台 v1.5 UTF-8.rar

    优化 系统全局变量和输入数据获取方式,并针对 PHP5.3 进行兼容性调整 优化 "一行两个"表单样式错位的问题,感谢 郑州论坛 提交问题 优化 通行证中用户名获取方式改进,统一改为"account"消除隐患 优化 表单用户...

    《javaScrip开发技术大全》源代码

    • sample02.htm 在不同的语句块中使用全局变量 • sample03.htm 局部变量的使用方式 • sample04.htm 在函数体中定义全局变量 • sample05.htm 使用没有定义的变量 • sample06....

    华为编程开发规范与案例

    1、新老代码中同一全局变量不一致 第58页 【案例5.1.1】 第58页 六、可测试性代码问题 第59页 1、调试信息/打印信息的正确性 第59页 【案例6.1.1】 第59页 一、逻辑类代码问题 1、变量/指针在使用前就必须初始...

    freemarker总结

    可以看到例子中使用的两个同名变量并没有冲突,因为它们位于不同的名字空间 l 可以使用assign指令在导入的名字空间中创建或替代变量,下面是一个例子: ${my.mail} ${my.mail} l 输出结果: jsmith@...

    C#微软培训资料

    2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 ...

    [编译原理].陈意云.文字版

    3.6.1 使用文法以外的信息来解决分析动作的冲突 3.6.2 特殊情况产生式引起的二义性 3.6.3 IR分析的错误恢复 3.7 分析器的生成器 3.7.1 分析器的生成器Yacc 3.7.2 用Yaec处理二义文法 3.7.3 Yaec的错误...

    Visual Basic 2010入门经典.part1.rar

    11.5.4 使用全局(命名空间级)作用域 195 11.5.5 名称冲突 196 11.6 声明静态变量 196 11.7 命名规范 197 11.7.1 使用前缀表示数据类型 197 11.7.2 使用变量前缀表示作用域 198 11.7.3 其他前缀 198 11.8 ...

    Visual Basic 2010入门经典.part2.rar

    11.5.4 使用全局(命名空间级)作用域 195 11.5.5 名称冲突 196 11.6 声明静态变量 196 11.7 命名规范 197 11.7.1 使用前缀表示数据类型 197 11.7.2 使用变量前缀表示作用域 198 11.7.3 其他前缀 198 11.8 ...

    WebGL编程指南压缩包

    全局变量和局部变量 209 存储限定字 209 const 变量 209 Attribute 变量 210 uniform 变量 211 varying 变量 211 精度限定字 211 预处理指令 213 总结 215 第7 章 进入三维世界 217 立方体由三角形构成 ...

    WebGL编程指南

    全局变量和局部变量 209 存储限定字 209 const 变量 209 Attribute 变量 210 uniform 变量 211 varying 变量 211 精度限定字 211 预处理指令 213 总结 215 第7 章 进入三维世界 217 立方体由三角形构成 ...

Global site tag (gtag.js) - Google Analytics