2012-10-09 42 views
10

tengo dos preguntas:C11/C++ 11 Memoria Modelo

  1. me gustaría saber si los estándares de C++ 11 y C11 compartirán las mismas especificaciones de modelo de memoria. Leí que esto es así, que de hecho C11 está "heredando" el modelo de memoria C++ 11 (por cualquier razón histórica, esto último ocurrió primero o al mismo tiempo/con las mismas personas, aunque creo que Boehm, que es un C++ tipo principalmente, tenía mucho que decir.), Pero me gustaría asegurarme de preguntarle a alguien con más conocimiento.

  2. Mi siguiente pregunta es: ¿GCC alguna vez implementará este modelo de memoria? No he visto la hoja de ruta para esto, y me preguntaba si alguien tenía una "primicia".

+0

como un comentario ya que no preguntaste directamente sobre eso: creo que la última versión de clang ya implementa estos modelos. –

+0

@JensGustedt: Gracias, sí, también quería saber sobre el clang, pero pensé que lo estaba presionando, así que traté de enfocar la pregunta. –

+0

@JensGustedt: parece que no, aún no está implementado, al menos de acuerdo con http://clang.llvm.org/cxx_status.html –

Respuesta

13
  1. El modelo de memoria fue desarrollado para C++ 11, y adoptada por C11. Lawrence Crowl hizo un gran trabajo para garantizar que la interfaz para las operaciones atómicas fuera lo más cercana posible. Hubo bastantes personas involucradas, pero tienes razón en que Hans Boehm fue uno de ellos.

  2. GCC actualmente (4.7) implementa una aproximación razonable del modelo de memoria. Ciertamente lo suficientemente cerca como para que la mayoría de los programas no puedan notar la diferencia. Estoy bastante seguro de que la conformidad total está en su plan, pero no sé el horario, ya que no estoy involucrado.

Cuestiones relacionadas