【发布时间】:2018-08-18 20:37:02
【问题描述】:
我想了解 C/C++ 内存模型,但我在所有文章、博客、youtube 视频中发现“内存模型仅用于并发”..
谁能向我解释一下为什么会这样?
我知道内存模型是一种抽象,它允许程序员使用编程语言来推理底层内存系统(正确吗?)所以一般来说(独立于编程语言)我们是否仍然需要内存模型单线程程序?
谢谢!
【问题讨论】:
-
欢迎来到 Stack Overflow。请尽快阅读About 和How to Ask 页面。像这样的问题,尤其是同时标记为c 和c++ 时,太宽泛了,无法在 SO 上回答。这需要很多解释;已经写了关于这个主题的书。 C 和 C++ 之间存在重大差异,尤其是在实际实现的内容与标准所说的可能由符合标准的实现实现的内容相比方面。
-
@JonathanLeffler 我认为无论语言如何,答案都是一样的。这是一个更根本层面的问题。所以我认为它并不广泛。 OP 可能使用了 C 和 C++ 标签,因为他们希望这些社区能够回答这个问题。
-
术语内存模型根据上下文以不同的方式使用。我认为 OP 认为是memory addressing model。
标签: c++ c memory concurrency memory-model