2012-10-09 12 views
10

Ho due domande:C11/C++ 11 di memoria Modello

  1. Vorrei sapere se le norme per C++ 11 e C11 condivideranno gli stessi spec modello di memoria. Ho letto che è così, che in effetti C11 sta "ereditando" il modello di memoria C++ 11 (per qualsiasi motivo storico quest'ultimo sia successo prima o allo stesso tempo/con le stesse persone, anche se penso che Boehm, che è un Il ragazzo di C++ principalmente, aveva molto da dire.), Ma mi piacerebbe essere sicuro di chiedere a qualcuno più esperto.

  2. La mia prossima domanda è: GCC implementerà mai questo modello di memoria? Non ho visto la tabella di marcia per questo, e mi chiedevo se qualcuno avesse uno "scoop".

+0

come commento dato che non l'avete chiesto direttamente: penso che l'ultima versione di clang implementa già questi modelli. –

+0

@JensGustedt: Grazie, sì, volevo sapere anche di clang, ma pensavo di spingerlo, così ho cercato di focalizzare la domanda. –

+0

@JensGustedt: sembra no, non è ancora stato implementato, almeno secondo http://clang.llvm.org/cxx_status.html –

risposta

13
  1. Il modello di memoria è stato sviluppato per C++ 11, e adottato C11. Lawrence Crowl ha lavorato molto per garantire che l'interfaccia per le operazioni atomiche fosse il più vicino possibile. C'erano molte persone coinvolte, ma hai ragione che Hans Boehm era uno di loro.

  2. GCC attualmente (4.7) implementa una ragionevole approssimazione del modello di memoria. Certamente abbastanza vicino che la maggior parte dei programmi non sarà in grado di dire la differenza. Sono abbastanza sicuro che la piena conformità è sul loro piano, ma non conosco il calendario, perché non sono coinvolto.

Problemi correlati