c++学习笔记,void*及全局变量
2016-01-27 14:50
375 查看
1. void* 可以指向任何类型的数据。在应用中,体现内存操作的意义。因此在lib发布的头文件中多使用void*类型,在实现文件中强制类型转换到自己定义的类型,实现封装的隐蔽性。
2. 引用其他文件中定义的全局变量。在定义全局变量的头文件中声明全局变量,并添加关键字extern,在相应.c文件中定义该全局变量,即赋值。之后在其他包含该头文件的文件中就可以使用该全局变量了。
3. 关于VC中Link: 点击编译按钮准备生成exe文件时,VC其实做了两 步工作,第一步,将每个.cpp(.c)和相应.h文件编译成obj文件;第二步,将工程中所有的obj文件进行LINK生成最终的.exe文件,那么错
误就有可能在两个地方产生,一个是编译时的错误,这个主要是语法错误,另一个是连接错误,主要是重复定义变量等。我们所说的编译单元就是指在编译阶段生成 的每个obj文件,一个obj文件就是一个编译单元,也就是说一个cpp(.c)和它相应的.h文件共同组成了一个编译单元,一个工程由很多个编译单元组 成,每个obj文件里包含了变量存储的相对地址等 。
2. 引用其他文件中定义的全局变量。在定义全局变量的头文件中声明全局变量,并添加关键字extern,在相应.c文件中定义该全局变量,即赋值。之后在其他包含该头文件的文件中就可以使用该全局变量了。
3. 关于VC中Link: 点击编译按钮准备生成exe文件时,VC其实做了两 步工作,第一步,将每个.cpp(.c)和相应.h文件编译成obj文件;第二步,将工程中所有的obj文件进行LINK生成最终的.exe文件,那么错
误就有可能在两个地方产生,一个是编译时的错误,这个主要是语法错误,另一个是连接错误,主要是重复定义变量等。我们所说的编译单元就是指在编译阶段生成 的每个obj文件,一个obj文件就是一个编译单元,也就是说一个cpp(.c)和它相应的.h文件共同组成了一个编译单元,一个工程由很多个编译单元组 成,每个obj文件里包含了变量存储的相对地址等 。
相关文章推荐
- 20120824 profile location程序编写中c++总结
- 20121017c++学习笔记,文件读取,字符串相关
- C++中引用传递与指针传递的区别
- 经典hash算法比较和C语言实现
- 插入排序算法的实现
- USACO : Humble Numbers (丑数)
- C语言字符串长度
- 关于c语言结构体内存对齐有感
- 解决C/C++ 头文件相互包含 问题的方法
- C++析构函数为什么要为虚函数
- C语言 文件操作6--文件打开方式详解
- c语言 *p++与(*p)++、*(p++)三者异同?
- 收费站
- C/C++编译过程
- C++类中成员变量和成员指针变量小结
- C++ 遍历文件夹以及子文件夹下所有文件
- C语言学习之程序运行是内存的5大分区
- VC++异常捕获??
- 冒泡排序的实现
- 【C++】 一维数组的初始化