zoukankan      html  css  js  c++  java
  • 程序是怎么跑起来的? —— 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 头文件中的所有文件内容并提供给当前文件,
      • 当然头文件最常见的用途是声明在其他地方定义的函数;
    • ②编译:代码被编译为计算机可以识别的目标文件;
    • ③链接:独立的目标文件链接在一起形成一个应用程序;
  • 相关阅读:
    COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(上)
    A Complete ActiveX Web Control Tutorial
    C++使用VARIANT实现二维数组的操作
    用户自定义结构数据与VARIANT转换
    VS2008中使用JSONCPP方法小结
    HDOJ 2030 汉字统计
    HDOJ 1312 (POJ 1979) Red and Black
    POJ 1503 Integer Inquiry 简单大数相加
    POJ 1936 All in All
    枚举法
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423948.html
Copyright © 2011-2022 走看看