在程序导入第三方库或者是程序内文件的时候,一般的方式是这样的:
#include "targetver.h"
#include <stdlib.h>
#include <stdio.h>
其中到文件或者库用的" "与<>,对于这两者的区别是:
- " "表示编译器会首先从当前工程里面去查找,如果没有就会去系统库里面查找;
- <>表示编译器会首先从系统库里面去查找,如果没有就会去当前工程里面查找;
在程序创立的最开始的初始配置界面,已经默认配置了些许内容
#include <stdio.h>
int main()
{
return 0;
}
最开始会默认配置了一个main函数,而这个main函数就是这个程序的起始点。
而对于所有的程序都是有一个程序的起始点的,也就是程序开始执行的地方(程序入口点)。
在main函数里面有一个返回值,返回值的内容有2种情况,0与非0(常用1来表示),0代表着程序运行结果成功,非0表示失败。
- 0:程序正常退出,程序的资源自己分配
- 1:非正常退出,程序没收运行过程中获取的资源
之后我们来了解一下整个程序编译的整个过程
我们目前软件开发是一个集成开发环境IDE
目前的编程软件都集成了很多功能
- 写代码:文本编辑器 文本文档
- 编译:编译器 javac gcc 编译原理
我们目前能看懂的,或者说自己所写的代码是一种高级语言:C C++ java phython C# OC Kotlin
而计算机能够识别的是机器语言,也就是二进制语言
编译器的功能就是将我们所写的高级语言转换为机器能够识别的机器语言,而中间的过度就是汇编语言,一种机器能够识别部分,人也可以识别部分的一种语言。 - 预处理(预编译):将导入的头文件进行展开,也就说将导入库的代码用库里面所有的代码进行代替。预编译结束之后的程序一般是得到一个.i的文件
- 编译:将高级语言转换为汇编语言,编译完成之后得到的是一个.s的文件
- 汇编:将汇编语言转换为机器语言
- 链接:将程序并入到一个文件中,形成一个可执行的目标文件
- 运行
这就是程序编译的整个过程