【发布时间】:2021-02-26 11:25:20
【问题描述】:
我开始想一些关于内存读写的基本思路(假设我们读写的数据还没有被缓存)。
对于以下代码:
int a = 1;
肯定是写,因为我们将值'1'写入变量'a'的内存位置。
但是对于以下代码:
int a, b;
a = 1;
b = a;
当我们执行语句“b = a;”时,我们真的执行了一次读取和一次写入吗? 根据我的理解,我认为是一读一写,因为我们必须先加载 'a' 的值,然后将值写入 'b'。
不确定我的理解是否正确。请帮助我澄清这些基本概念。 非常感谢您的帮助。
【问题讨论】:
-
将高级 C 代码视为“读取”和“写入”或“此代码必须执行 x 次读取和 y 次写入”是没有意义的。这不是它的工作原理——重要的是编译器如何将 C 代码转换为机器代码,这是一个很大的话题。如果你想学习这些东西,你应该学习一门汇编语言。
标签: c memory read-write