- 2009年12月16日 22:20
- 日記2009後期
こちらの記事にあったので私はこんなコードを書いていましたという返信。
ttp://1978th.net/tech/promenade.cgi?id=68
インラインアセンブラです。
x86オンリーなのかもしれませんが私の場合は動作させる環境が固定なので。
static __inline__ void __attribute__ ((__always_inline__))
atomic_add(volatile int *pv1, int v2)
{
__asm__ volatile (
"lock; addl %1,%0"
: "=m" (*pv1)
: "ir" (v2), "m" (*pv1));
}
これを、
#if defined(_GCC) とかそういうマクロで判定して使ってます。
速度?そんなの知りません( ゚Д゚)y─┛~~
- Older: 簡単な人工無脳BOTを作ってみました
- Newer: Amazonの関連商品