- 6
- 0
- 约4.75千字
- 约 6页
- 2017-02-06 发布于北京
- 举报
全局变量extenrstαtìcconst区别与联系
全局变量、extern/static/const区别与联系
在讨论全局变量之前我们先要明白几个基本的概念:
1. 编译单元(模块):??? 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!当在VC这样的开发工具上编写完代码,点击编译按钮准备生成exe文件时,VC其实做了两 步工作,第一步,将每个.cpp(.c)和相应.h文件编译成obj文件;第二步,将工程中所有的obj文件进行LINK生成最终的.exe文件,那么错 误就有可能在两个地方产生,一个是编译时的错误,这个主要是语法错误,另一个是连接错误,主要是重复定义变量等。我们所说的编译单元就是指在编译阶段生成 的每个obj文件,一个obj文件就是一个编译单元,也就是说一个cpp(.c)和它相应的.h文件共同组成了一个编译单元,一个工程由很多个编译单元组 成,每个obj文件里包含了变量存储的相对地址等 。
2. 声明与定义的区别????函数或变量在声明时,并没有给它实际的物理内存空间,它有时候可以保证你的程序编译通过,?但是当函数或变量定义的时
原创力文档

文档评论(0)