スレッド ローカル ストレージに __thread キーワードを使用する C/C++ コードがありますが、64 ビット Solaris Sparc で g++ (バージョン 4.0.2) を使用してコンパイルするのに問題がありますが、Linux では g++ を使用してコンパイルおよび実行できます。 34コンパイラ。ソースコードの例を次に示します。
__thread int count = 0;
「g++ -dumpversion」コマンドからのコンパイラ情報は「4.0.2」を返し、「g++ -dumpmachine」は「sparc-sun-solaris2.8」を示します。「uname -a」は「SunOS devsol1 5.9 Generic_118558-26 sun4u sparc SUNW,UltraAX-i2」を表示します。
g ++でmakeを実行している間のエラーメッセージは次のとおりです:「エラー:このターゲットではスレッドローカルストレージはサポートされていません」、使用しているコンパイラオプションは
-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
私は週末にこれに苦労しており、締め切りに直面しているため、どんな助けも大歓迎です.
ありがとう、チャールズ