jeudi 27 juillet 2017

C++11 atomic: is std::memory_order code portable?

In functions like std::atomic::compare_exchange, there's runtime parameters like std::memory_order_release, std::memory_order_relaxed. (http://ift.tt/1O0vRJX)

I'm not sure is these memory order flags are guaranteed to exist in all kinds of cpu/architects, if some cpus don't support a flag, does this flag lead to crash or? Seems some of these flags are designed for intel itanium, etc, not sure if std::memory_order related code is portable or not.

Would you give some suggestions?

Aucun commentaire:

Enregistrer un commentaire