私はアセンブリ言語を初めて使用しています。 gccはMSVCのようにintrin.hの_bittestandset関数を持っていないようですので、新しいものを実装しました。この1つはLinuxでは正常に動作しますが、それはwinVista機でmingwのと間違って行く、コードは次のとおりです。私のバージョンの_bittestandsetに問題があります
inline unsigned char _bittestandset(unsigned long * a, unsigned long b)
{
__asm__ ("bts %1, %[b]"
: "=g"(*a)
: [b]"Ir"(b), "g"(*a));
return 0;
}