1.前言
最近自己想学习C++语言,学习的东西时间一长不用的话也会搞忘记,然后呢就得又度娘查找一番。所以说准备写博客记录下来,一是作为自己以后查阅,二是让自己持之以恒的把C++学习下去。
2.第一个程序
用经典的HelloWorld来书写第一个C++程序,代码如下:
HelloWorld.cpp
#include<stream>
using namesapce std;
int main(){
cout<<"Hello world!"<<endl;
return 0;
}
2.1.编译程序
g++ HelloWorld.cpp -o HelloWorld
2.2.运行程序
./HelloWorld
2.3.运行结果
Hello world!
3.程序编译过程
C++程序编译有4个过程,分别是预处理、编译、汇编、链接。编写Header.h和Header.cpp代码如下:
Header.h
void display();
Header.cpp
#include "Header.h"
int main(){
return 0;
}
3.1预处理
输入命令 g++ -E Header.cpp -o Header.i
Header.i文件
# 1 "Header.cpp"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "Header.cpp"
# 1 "Header.h" 1
void display();
# 2 "Header.cpp" 2
int main(){
return 0;
}
预处理的功能主要是宏的替换,还有注释的消除,还有找到相关的库文件,将#include文件的全部内容插入。比如上面代码中就把" #include "Header.h" "替换为了红色部分。
3.2编译
将预处理后的文件转换成汇编语言,生成.s文件。
输入命令"g++ -s Header.cpp",会在目录下生成文件"Header.s"。
3.3汇编
汇编变为目标代码(机器代码)生成.o的文件,也就是计算机能够识别的"0"和"1"。
输入命令"g++ -c Header.cpp",会在目录下生成"Header.o"。
3.4链接
成功编译之后,就进入了链接阶段。就是把代码中用到的函数,但是这些函数你自己又没有定义,通过链接让这些函数打包进自己的程序里面,最后生成可执行文件。
输入命令"g++ Header.cpp -o Header",会在目录生成可执行文件"Header"。