Модель памяти C11/С++ 11

У меня есть два вопроса:

  • Я хотел бы знать, будут ли стандарты для С++ 11 и C11 использовать одни и те же спецификации модели памяти. Я читал, что это так, что на самом деле C11 "наследует" модель памяти С++ 11 (по каким бы историческим причинам последнее не происходило ни сначала, ни одновременно с теми же людьми, хотя я думаю, что Бем, который С++, в первую очередь, было много, чтобы сказать.), Но я хотел бы попросить кого-то более осведомленного.

  • Мой следующий вопрос: будет ли GCC когда-либо реализовывать эту модель памяти? Я не видел дорожную карту для этого, и мне было интересно, есть ли у кого-то "совок".

Ответ 1

  • Модель памяти была разработана для С++ 11 и принята C11. Лоуренс Кроул много сделал для того, чтобы интерфейс для атомных операций был как можно ближе. Было немало вовлеченных людей, но вы правы, что Ганс Бем был одним из них.

  • В настоящее время GCC (4.7) реализует разумную аппроксимацию модели памяти. Конечно, достаточно близко, что большинство программ не смогут отличить друг от друга. Я уверен, что полное соответствие находится в их плане, но не знаю расписания, поскольку я не участвую.