Question

Prise en charge récente par GCC des opérations atomiques (tel que décrit ici ) est excellent et représente 90% de nos besoins. . Malheureusement, certains de nos produits doivent encore fonctionner sous Windows et nous avons donc également besoin d'opérations de nombre entier atomique pour Windows.

Auparavant, nous avions des implémentations personnalisées en langage assembleur pour toutes nos plates-formes, mais j'aimerais déplacer toutes les plates-formes * nix sur les opérations prises en charge par GCC. Je me suis dit qu'il existait peut-être une méthode plus standard. faire cela aussi sur Windows maintenant ...

Existe-t-il un moyen officiellement autorisé de le faire sous Windows (autre que de les implémenter vous-même en langage assembleur)?

Était-ce utile?

La solution

Vous souhaitez utiliser les fonctions interverrouillées .

Autres conseils

Cela dépend de ceux dont vous avez besoin - je ne pense pas qu'il y ait une implémentation (pré-construite) de chacun d'entre eux sous Windows (sauf éventuellement dans gcc), mais certains d'entre eux existent depuis assez longtemps . Windows possède les fonctions InterlockedIncrement, InterlockedDecrement, InterlockedAdd, InterlockedOr, InterlockedXor, etc.>.

GLib fournit des opérations atomiques , et ils sont connus pour fonctionner sur des fenêtres. Vous pouvez rechercher des idées dans les sources ou sélectionner directement le code. vous avez besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top