C ++比较我的功能。
在“solaris 5.10”中,一切都还可以! 但是在“solaris 5.9”中,如果我没有原型,它会给我错误“函数”atomic_add_32_nv“必须有原型。”
请帮助我!
答案 0 :(得分:0)
据我所知,Solaris 10中添加了原子功能支持(通过<atomic.h>
)。谷歌搜索“solaris 10原子操作”似乎通过各种命中支持这一点。
在Solaris 9上,您需要使用互斥锁提供一个包装器(这比原子操作慢得多;但对您的应用程序可能无关紧要)或实现这些功能(每个处理器/架构x86 / sparc,您需要支持)使用汇编程序。
您还可以查看常见的开源项目(例如apache httpd,boost)是如何做到的并从那里开始的。
有关相关讨论,请参阅this SO主题。