重读C/C++笔记(二)
来源:互联网 发布:tensorflow python 编辑:程序博客网 时间:2024/05/23 20:29
一、C++中的extern关键字
extern其实是用来区分变量和函数的声明与定义的关键字。而不应只从字面上理解为用来定义“外部的”变量和函数。
二、C++中的include预编译命令
最多人回答,但也最容易回答不清的是:include后跟尖括号,与双引号的区别。一般都知道:
include <XXX.h>表示从系统所指向的当前目录开始搜索。
include "XXX.h" 表示从当前源文件目录开始搜索相应的XXX.h文件,在搜索不到的情况下,再转入到系统所指向的当前目录中搜索。
但对于什么是系统所指向的目录,大多没给出明确的解析,《在c++编程思想》只是笼统地说“...这种设置寻找路径的机制随机器、操作系统、C++实现的不同而不同,要视具体情况而定。”
假设使用的是windows操作系统,用vc作为开发工具的话,在设置系统“环境变量”的对话框的“用户变量”栏里,有一个名为“include”的变量。这个变量的值所包含的一系列的路径,就是前面所说的“系统当前目录”。当在windows下安装相应的VC集成开发工具时,安装程序会自动将编译器所要用到的包含标准头文件的目录,添加到include变量的值(同时包含多个目录)中。
另外在VC这个集成工具中,以VC6.0为例,其Tools->Options下的Directories页内,可添加设置include目录,帮助扩展编译器的搜索范围,可看作系统目录的一个延伸。
与此相应的两者都有一个lib目录,一般用来指向编译时所需的标准函数库所在路径。
当在include中使用相对路径时,如果在<> 内使用相对路径,其当前目录就是上面所说的“系统当前路径”。如果在“”内使用相对路径,其当前目录就是包含了include预编译指令的.cpp文件所处的路径。
在include中正确使用<>和""有助于加快编译速度。如果要包含的头文件是系统提供的标准库头文件,最好使用<>,如果使用的是自定义的头文件,那么应该直接使用""。
三、链接的过程
1、工程中要链接多个库文件时,要注意它们之前是否有依赖关系,以此决定它们在设置选框中的先后顺序。因为链接器是从左向右依次进行链接的。
2、链接时,只是将库文件中要用到的模块加入到可执行文件中,而不是将整个.lib链接进来。
3、所有可执行文件,都有一个启动模块。它包含了对程序的初始化例程。是由链接器在链接时自动加入的。
- 重读C/C++笔记(二)
- 重读C/C++笔记(一)
- 重读C/C++笔记(三)
- 重读C++primer 第三版(二)
- 重读C语言---基本知识 与概念 笔记
- 重读经典:C和指针学习笔记
- 重读C++Primer-1
- 重读《Essential C++》心得
- 重读 c primer plus
- 重读C专家编程
- 重读C++(1)
- 重读C语言程序设计
- 重读谭浩强c语言
- 重读C陷阱与缺陷
- 《Unix编程艺术》重读笔记(二)
- c语言笔记(二)
- 初学C#-----笔记二
- 重读经典-《Effective C++》Item0:基本概念
- asp.net mvc 2.0+Silverlight播放器开发的TeamVideo视频播放网站--系列1
- struct sockaddr 与 struct sockaddr_in 搜集
- DispatcherObject与WPF线程模型
- 由 memcpy 与 memset 引发的思考
- IE下回车事件的表单自动提交问题
- 重读C/C++笔记(二)
- 数组
- nfl
- Virtual Lab Platform Architecture
- 凸包
- 华容道游戏:广度优先搜索优先搜索
- Android启示录
- nfl
- PL/SQL开发过程中,动态使用DBMS_SQL