我有一段C/C++代码,它将__thread关键字用于线程本地存储,但无法在64位Solaris Sparc上进行编译g ++(版本4.0.2),而它编译并在g ++ 34编译器上运行linux。下面是源代码的示例:如何使用g ++编译64位solaris sparc上的线程本地存储(TLS)
__thread int count = 0;
编译器信息从 '克++ -dumpversion' 命令返回 '4.0.2' 和 'G ++ -dumpmachine' 节目 'Sun SPARC的-solaris2.8'。 'uname -a'显示'SunOS devsol1 5.9 Generic_118558-26 sun4u sparc SUNW,UltraAX-i2'。
的错误信息,同时运行使与G ++是:“错误:线程局部不支持此目标存储”,以及编译器选项我使用的是
-m64 -g -fexceptions -fPIC -I../fincad -I/usr/java_1.6.0_12/include -I/usr/java_1.6.0_12/include/solaris -I/opt/csw/gcc4/lib/sparcv9 -I/opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.0.2/sparcv9 -I. -I/usr/include -I/usr/include/iso -I/usr/local/include
任何帮助是非常赞赏,因为我在周末一直在苦苦挣扎,并且正面临期限。
感谢, 查尔斯
确实http://www.opengroup.org/onlinepubs/009695399/functions/pthread_setspecific.html工作? – Anycorn 2010-11-08 14:25:34