C++是编译性语言,Python是解释性语言
C++编译链接的全过程分为:
预编译
预编译会执行以下内容:
- 宏替换
- 执行条件编译:#ifdef,#ifndef,#endif
- #include后面文件内容插入并替换当前行
- 删除注释
编译
编译会执行以下内容:
检查有没有语法错误,没有的话转换为汇编语言,汇编过程再将汇编语言转换成机器语言,最终将每个cpp文件编译成一个目标文件。
链接
链接会执行以下内容:
将目标文件中调用了其他文件的函数在其他文件中找到该函数实现,将所有目标文件链接成一个可执行文件
Python的运行过程分为:
解释器将源代码转换为抽象的语法树
编译将语法树编译成字节码,它与平台无关
Python虚拟机根据字节码执行相应操作实现程序的功能
因此
- Python依赖于解释器,每个平台提供解释器即可因此跨平台容易,可以移植;C++不可移植,换个平台需要重新编译
- Python每次执行都要进行编译,而C++只编译一次生成可执行文件,以后执行无需再次编译直接执行可执行文件即可,因此Python运行效率低
- Python开发效率高,编程难度小
- Python不允许进行内存管理操作,C++需要自行内存管理和操作
- Python通过缩进来区分代码块,C++通过花括号来区分代码块
- Python不需要事先定义变量类型,由虚拟机判断它是什么类型;C++需要实现定义类型
标签:文件,Python,C++,编译,执行,链接 From: https://www.cnblogs.com/Sandals-little/p/17573387.html