3 - C++基本概念
程序结构
1 |
|
编译链接过程
编译(Compile)和链接(Link)是把源代码转换成可执行文件的过程。无论是C还是C++,源文件都要被编译为中间代码文件(目标文件Object
file)。
在Windows系统中为.obj文件,在UNIX下则为.o文件。编译完成后,将目标文件和成为可执行文件的过程叫做链接。
编译
编译工具: gcc
(c语言) 和 g++
(c++语言/c语言)
P.S.:对于Windows系统,gcc组件被移植为MinGW
链接
链接主要是链接函数和全局变量,不管函数的源文件,只管它们的目标文件。要是在指明的目标文件中,链接器找不到函数的实现语句,就会报出链接错误(
linker error)。
g++执行过程
通常情况下有四步:
- 预处理: 条件编译,头文件包含,宏替换。
- 编译: 预处理后的文件转换成汇编语言。
- 汇编: 产生目标文件。
- 链接: 链接目标文件,生成可执行程序。(.out in Linux; .exe in Windows)
编译相关文件
文件扩展名 | 描述 |
---|---|
.a | 打包目标文件的库文件 |
.c/.C/.cc/.cp/.cpp/.cxx/.c++ | 源代码文件,函数和变量的定义/实现 |
.h | 头文件,函数和变量的声明 |
.ii | 编译预处理产生的文件 |
.o (.obj in Windows) | 编译产生的中间目标文件 |
.s | 编译产生的汇编语言文件 |
.so | 编译产生的动态库文件 |
.out (.exe in Windows) | 链接目标文件产生的可执行文件 |
常用基本命令
g++ hello.cpp -o hello
# 生成hello可执行程序,-o选项为指定可执行程序文件名(Windows hello.exe)./hello
# 运行生成的程序(Windows .\hello.exe)
P.S.
更细节可查看文章:C/C++编译过程
语句和语句块
语句
分号;
为语句结束符,代表一个逻辑实体结束。每个语句必须以分号结束。
语句块
一组使用大括号括起来的按照逻辑连接的语句。如下:
1 | { |
标识符
标识符以字母 A-Z
或 a-z
或下划线 _
开始,后跟零个或多个字母、下划线和数字(0-9)
C++ 标识符内不允许出现标点字符,比如 @
、&
和 %
C++ 是区分大小写的编程语言。
关键字
这些关键字(保留字)不能作为常量名、变量名或其他标识符名称。
C++关键字介绍
其他常用概念(了解即可,后续会不断出现)
1 | // C++ 常用基本概念 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Guf's Blog!
评论