我需要的具体 *** 作是:
>增量
>减少
>比较和交换
奇怪的是,在linux机器上运行locate stdatomic.h会找到头文件(在c目录中),而在我的OSX机器上运行相同的命令(gcc v4.6.3)则不会返回任何内容.我需要安装什么来获取stdatomic库,它是否适用于gcc v 4.1.2?
作为旁注,我不能使用任何第三方库.
解决方法 好吧,没有什么可以阻止你在其他平台上使用OSAtomic *** 作. ARM,x86和PPC的OSAtomic *** 作源是Apple的libc的一部分,它是opensource.请确保您没有使用OsspinLock,因为它特定于Mac OS X,但这可以很容易地被linux futexes取代.看到这些:
http://opensource.apple.com/source/Libc/Libc-594.1.4/i386/sys/OSAtomic.s
http://opensource.apple.com/source/Libc/Libc-594.1.4/ppc/sys/OSAtomic.s
http://opensource.apple.com/source/Libc/Libc-594.1.4/arm/sys/OSAtomic.s
或者,您可以使用sync_ *系列,我相信它应该适用于大多数平台,我相信这里描述的内容:http://gcc.gnu.org/wiki/Atomic
总结以上是内存溢出为你收集整理的Linux上的C中的原子 *** 作全部内容,希望文章能够帮你解决Linux上的C中的原子 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)