• 程序是怎么跑起来的? —— CPU 是什么?C/C++程序的运行


    1. 概念初步

    • 程序:计算机的程序,和做饭、运动会的程序一样,指的是“做事的先后次序”;
    • 程序的组成:程序是指令(及物动词)和数据(宾语)的组合体;
      • C 语言 printf("hello ");,这个简单的程序,printf是指定,hello是数据;
    • 机器语言:CPU 能够直接识别和执行的只有机器语言。
      • 使用C、C++、Java 等高级语言编写的程序最后都会转化为机器语言;
    • 正在运行的程序存储在什么位置?
      • 硬盘和磁盘等媒介上保存的程序被复制到内存(内存中是其副本)后才能运行;
    • 内存地址:标记和指定命令和数据的场所;
      • 地址由整数值表示;
    • CPU 的作用:
      • 根据程序的指令来进行数据运算,并控制整个计算机的设备;

    2. CPU 是什么?

    CPU 负责的就是解释和运行最终转换成机器语言的程序内容;

    CPU 和 内存(memory)是由许多晶体管组成的电子部件,通常称为 IC(Integrated Circuit,集成电路);

    CPU 的组成(各部分之间的电信号相互流通):

    • 寄存器;

      暂存指令,数据等处理对象;可将寄存器看做内存的一种;根据种类的不同,一个 CPU 内部会有 20~100 个寄存器;

    • 控制器;

      控制器负责把内存上的指令、数据等读入寄存器,并根据执行的结果来控制整个计算机。

    • 运算器:运算器负责运算从内存读入寄存器的数据。

    • 时钟:负责发出 CPU 开始计时的时钟信号;

      • Pentium 2GHz 就表示时钟信号的频率为 2GHz

    3. C++程序的运行

    生成一个 C++ 程序共有三个步骤:

    • ①预处理:代码在预处理器中运行,预处理器会处理代码中的元信息(meta-information)
      • 预处理指令以 # 字符开始,#include <iostream> 就是如此,本例中,include 指令是告诉预处理器,提取 iostream 头文件中的所有文件内容并提供给当前文件,
      • 当然头文件最常见的用途是声明在其他地方定义的函数;
    • ②编译:代码被编译为计算机可以识别的目标文件;
    • ③链接:独立的目标文件链接在一起形成一个应用程序;
  • 相关阅读:
    解决centos yum源配置出现Couldn't resolve host 问题
    Centos7下MongoDB下载安装详细步骤
    PHP操作mongodb扩展的坑 及php7安装mongodb扩展
    阿里云 Composer 全量镜像
    centos beanstalkd 安装 与php调用
    centos与windows共享文件夹
    centos php 安装编译 常见报错
    [PHP] layui实现多图上传,图片自由排序,自由删除
    Vue-element-admin实现菜单根据用户权限动态加载
    迭代器的使用方法
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423947.html
Copyright © 2020-2023  润新知