Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Equivalent of InterlockedIncrement in Linux/gcc

It would be a very simple question (could be duplicated), but I was unable to find it.

Win32 API provides a very handy set of atomic operations (as intrinsics) such as InterlockedIncrement which emits lock add x86 code. Also, InterlockedCompareExchange is mapped to lock cmpxchg.

But, I want to do that in Linux with gcc. Since I'm working 64-bit, it's impossible to use inline assembly. Are there intrinsics for gcc?

like image 825
minjang Avatar asked Jan 24 '10 04:01

minjang


1 Answers

GCC Atomic Built-ins

like image 92
Nikolai Fetissov Avatar answered Jan 01 '23 00:01

Nikolai Fetissov