J'ai un morceau de code C/C++ qui utilise le mot-clé __thread pour le stockage local de thread, mais qui a du mal à le compiler sur Solaris Sparc 64 bits avec g ++ (version 4.0.2), alors qu'il compile et s'exécute sous Linux avec le compilateur g ++ 34. Voici un exemple de code source:comment compiler thread local de stockage (TLS) sur 64 bits solaris sparc avec g ++
__thread int count = 0;
information du compilateur de 'g ++ -dumpversion' commande retourne de la 4.0.2 »et 'g ++ -dumpmachine' 'sparc-soleil solaris2.8 montre les chiffres. 'uname -a' affiche 'SunOS devsol1 5.9 Generic_118558-26 sun4u sparc SUNW, UltraAX-i2'.
Le message d'erreur lors de l'exécution de make avec g ++ est: « erreur: stockage thread local non pris en charge pour cet objectif », et l'option du compilateur J'utilise est
-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
Toute aide est très appréciée comme je avoir du mal à ce sujet au cours du week-end et je suis confronté à une date limite.
Merci, Charles
est-ce que http://www.opengroup.org/onlinepubs/009695399/functions/pthread_setspecific.html fonctionne? – Anycorn