2011-09-27 50 views

回答

1

如果在C/C編寫代碼++,那麼你可以使用GNU編譯器builtins for atomic ops

+0

嗨,它指出鏈接 – Samuel

+0

tbh時未定義,我沒有使用它們與ndk,谷歌已經從工具鏈中剝離了很多東西 - 可能是原子builtins以及。你有沒有用Crystax ndk試過?你使用哪個版本的ndk,r6? – long404

+0

grepping toolchain顯示它們在arm-7編譯器中可用,並在該工具鏈中的cxx-stl代碼中使用: sources/cxx-stl/gnu-libstdC++/include/bits/atomic_2.h:192:{return __sync_add_and_fetch(&_ M_i,__d); } 即operator + =()of struct atomic_address – long404

0

我不確定你的意思是你是否需要這個本地代碼,但如果你不需要,那麼我會指出來自Java/Android庫的AtomicInteger提供addAndGet()

+0

嗨肖恩·歐文,我用C++。我想如果它是在本地代碼中,它應該刪除atomic.h文件。我使用__sync_add_and_fetch這個內建函數。它指出它鏈接時未定義 – Samuel