我正在阅读a journal article about Real-Time Concurrent C,它在摘要中提到(所以你们任何人都可以通过该链接看到上下文)"并发C,是C的并行超集(和C ++)"。
现在我知道超集是什么,但他们的意思是"并行超集"何时提到编程语言?
答案 0 :(得分:19)
他们声称有两件事,而不是一件被“修改”的事情。这就像说“快速的红车”;汽车快速和红色,它没有快速的颜色。
这也有点奇怪,因为并非每个有效的C程序都是有效的C ++程序。
答案 1 :(得分:9)
这是两个不同的概念。
"超集"意味着它扩展了语言,而不删除或更改任何现有的语言功能。因此,任何有效的C程序(理论上)都是有效的并发C程序。
"并行"意味着扩展支持并行执行 - 程序可以同时执行多个操作。
答案 2 :(得分:6)
这篇文章旧。它写于上一个千年。它早于第一个C ++标准和POSIX的实时扩展的第一个版本。
虽然C ++在概念上存在,但是没有办法说出C ++是什么。 1991年没有C ++标准,事实上或官方标准。如今,有一个C ++标准。
直到最近,C ++还没有正式支持并行性。 POSIX扩展了C而不是C ++,严格来说,它不是超集;它与关键领域的C标准相冲突。这同样适用于C / C ++的Microsoft扩展。
在我看来,ISO / IEC 9899和ISO / IEC 14882的第一个并行超集是C11和C ++ 11,严格来说,即使那些也不是超集。它们在某些领域扩展了C / C ++,但在其他领域限制了它(例如,restrict
,它不是原始C标准中的关键字。)