首页 > 编程语言 >4.C++和Python

4.C++和Python

时间:2023-07-22 15:14:19浏览次数:28  
标签:文件 Python C++ 编译 执行 链接

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++需要实现定义类型

 

标签:文件,Python,C++,编译,执行,链接
From: https://www.cnblogs.com/Sandals-little/p/17573387.html

相关文章

  • Python之Rich库-打印彩色字体,表单,进度条与状态动画
      https://rich.readthedocs.io/en/latest/introduction.html Introduction¶RichisaPythonlibraryforwritingrichtext(withcolorandstyle)totheterminal,andfordisplayingadvancedcontentsuchastables,markdown,andsyntaxhighlightedcode.U......
  • 在ubuntu上用python的好处
    在Ubuntu上使用Python的好处引言Python是一种简单易学、功能强大的编程语言,它在Ubuntu操作系统上广泛应用于各个行业和领域。本文将指导刚入行的开发者如何在Ubuntu上使用Python,并介绍使用Python的好处。整体流程下面的表格展示了在Ubuntu上使用Python的整体流程:步骤描述......
  • 在python中utc时间毫秒格式化保留3位
    在Python中UTC时间毫秒格式化保留3位在计算机编程中,时间的处理是非常重要的。在Python中,有时我们需要将时间格式化为特定的字符串形式,以便于存储、传输或显示。本文将介绍如何在Python中将UTC时间的毫秒部分格式化并保留3位。UTC时间和时区在介绍如何格式化UTC时间之前,我们先了......
  • 在python中,while满足的条件是什么
    在Python中,while循环是一种迭代结构,它会根据一定的条件重复执行一段代码。在每次循环中,都会检查循环条件是否满足,如果满足则执行循环体内的代码,然后再次检查循环条件。只要条件仍然满足,循环就会一直执行下去,直到条件不满足时终止循环。在Python中,while循环的语法如下所示:whileco......
  • 1.C++入门&&简单顺序结构-习题
    1.C++入门&&简单顺序结构1.计算(a+b)*c的值 inta,b,c; cin>>a>>b>>c; cout<<(a+b)*c;2.带余除法 inta,b; cin>>a>>b; cout<<a/b<<""<<a%b; //C++中取余结果正负只与%前面的数有关系 cout<<5%2<<endl......
  • python设计一个跨模块全局变量
    python中有时候需要用到全局变量,并且这个全局变量需要跨文件,跨模块共享.为此,我设计了一个全局对象,它有以下特点:如果为不存在的属性赋值,则会自动生成这个属性,后续就可以正常引用这个属性,就像对象本身具有此属性一样整个对象可以序列化,后续可以从文件中恢复对......
  • python接口自动化项目部署在centos7上
    我选择在apache根目录下/var/www/html创建一个目录test 切换到test目录下 进入创建的目录,并初始化git,输入命令gitinit如果会报错InitializedemptyGitrepositoryin/var/www/html/test/.git/,就输入yum-yupdate用于更新系统中安装的软件包到最新可用版本。 再次输......
  • python 执行多个任务, 哪个任务先返回用这个任务的结果,其他任务停止
        #coding=utf-8"""@project:icnet@Author:angdh@file:demo.py@date:2023-07-2210:58"""importconcurrent.futuresimportrequestsdeftask(url):#执行任务的代码result=requests.get(url,tim......
  • 使用Python内置的错误信息
    1'''2语法1:3try:4可能引发异常的代码块5except异常类ase:#使用e作为其别名6异常处理代码块7'''8910defdivision(x,y):11try:12returnx/y13except(ZeroDivisionError,TypeError)as......
  • Python 预习提纲
    以下是Python的预习提纲的Markdown格式示例:Python预习提纲1.Python基础Python的历史与特点Python解释器与开发环境的安装Python开发工具与常用IDE2.数据类型与运算变量与赋值语句数字类型与基本运算字符串类型与常见操作列表、元组与字典的定义与操作3......