dicroce
dicroce

Reputation: 46760

Alternatives to GCC's new atomic integer operations

GCC's recent support for atomic operations (as described here) is great, and is 90% of what we need. Unfortunately, some of our products still need to run on Windows and so we need atomic integer operations for Windows as well.

In the past, we had custom assembly language implementations for all our platforms, but I'd like move all the *nix platforms over to the GCC supported operations and the thought crossed my mind that perhaps there is also a more standard way to do this on Windows now as well...

Is there an officially sanctioned way of doing this on Windows (other than implementing them yourself in assembly language)?

Upvotes: 5

Views: 3426

Answers (3)

i_am_jorf
i_am_jorf

Reputation: 54600

You want the Interlocked functions.

Upvotes: 6

ntd
ntd

Reputation: 7434

GLib provides some atomic operations, and they are known to run on windows. You can inspect the sources for ideas or directly pick the code you need.

Upvotes: 0

Jerry Coffin
Jerry Coffin

Reputation: 490018

It depends on which of those you need -- I don't think there's a (pre-built) implementation of every one of them on Windows (except possibly within gcc) but some of them have been around for quite a while. Windows has InterlockedIncrement, InterlockedDecrement, InterlockedAdd, InterlockedOr, InterlockedXor, and so on.

Upvotes: 0

Related Questions