C++是编译性语言,Python是解释性语言

C++编译链接的全过程分为:

预编译

预编译会执行以下内容:

  1. 宏替换
  2. 执行条件编译:#ifdef,#ifndef,#endif
  3. #include后面文件内容插入并替换当前行
  4. 删除注释

编译

编译会执行以下内容:

检查有没有语法错误,没有的话转换为汇编语言,汇编过程再将汇编语言转换成机器语言,最终将每个cpp文件编译成一个目标文件。

链接

链接会执行以下内容:

将目标文件中调用了其他文件的函数在其他文件中找到该函数实现,将所有目标文件链接成一个可执行文件

Python的运行过程分为:

解释器将源代码转换为抽象的语法树

编译将语法树编译成字节码,它与平台无关

Python虚拟机根据字节码执行相应操作实现程序的功能

 

因此

  • Python依赖于解释器,每个平台提供解释器即可因此跨平台容易,可以移植;C++不可移植,换个平台需要重新编译
  • Python每次执行都要进行编译,而C++只编译一次生成可执行文件,以后执行无需再次编译直接执行可执行文件即可,因此Python运行效率低
  • Python开发效率高,编程难度小
  • Python不允许进行内存管理操作,C++需要自行内存管理和操作
  • Python通过缩进来区分代码块,C++通过花括号来区分代码块
  • Python不需要事先定义变量类型,由虚拟机判断它是什么类型;C++需要实现定义类型

 

posted on 2023-07-22 14:56  小凉拖  阅读(68)  评论(0)    收藏  举报