这晚辈我第一次写博客,就想来点干货。
这是我的一位学长在给我们培训VS入门时给 介绍的——一个程序在到底在 一个编译器中是如何执行的。
一个程序到底是如何从一个想法变成现实的——从.txt变为.exe
大致处理过程:
1.在IDE上编辑你的DEMO.
2.分析source文件:分析源文件中的文本信息,初步转化成为需要的文本格式信息。如可供后续操作读取的文本编码。
3.编译(complie).
4.展开#include:将源文件中的#include展开,使得文件中的定义的所有数据结构和函数具有声明。对宏定义进行替换。生成预编译文件。
5.向低级语言转化:编译生成好的预编译文件,将编译文件从C++ ->C->汇编->二进制文件转化,实现高级向低级,抽象到具体的转化。
6.链接(link)
7.链接obj文件为exe:将所有生成好的obj文件根据函数符号和入口地址配对,使得在需要调用其他函数的地方正确跳转到指定入口地址。
这个就是我们所写的代码在编译器下执行的步骤。希望对一些刚开始学编程的人有所帮助。