呜呜呜小吴莫哭 2019-09-20 11:39 采纳率: 0%
浏览 478

处理器对不同数据类型的操作

::学了软件系统以后,对于系统对code的处理有了一点理解,我们的code在编译时先对代码分析、综合,所有的变量都被“替换”成"地址",关键字都被“替换”为“操作码”,处理器根据操作和地址,对“地址”中的数据进行相应操作。

::但是在编程工作中会有很多种类的数据,每种数据类型分配的内存宽度也不同,在处理器对“地址”中数据存取时, 是从哪里知道该地址存储的数据类型的呢? 网上很多资料告诉我,数据类型实在定义声明的时候就已经确定了,这我是知道的。

::我不知道的是声明的过程编译器做了什么工作, 难道 (我的假设)是构建一个地址和数据类型一 一对应的表么?如果是这样的话,处理器拿到“地址”以后,就应该先去查这个表,找到该“地址”的类型(该值的宽度),再去“地址”中拿到该数据。


:我的问题比较抽象,很可能是我某些概念没搞清楚,在网上搜索该信息的方式不对,我确实没有找到我想要的答案,而且这个问题比较偏比较底层,[我的假设]是否正确,请对该方面比较清楚的前辈赐教。

  • 写回答

1条回答 默认 最新

  • 用的微信名称 2019-09-20 16:45
    关注

    编译器在编译源码是确实会生成一张符号表,该表具体是怎样的没有细研究过,猜测应该包含符号名、类型、映射地址等,编译原理里面有这方面讲解

    评论

报告相同问题?

悬赏问题

  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了