1

C++は私の関数を比較しました。

「solaris5.10」では、何でも大丈夫です!しかし、「solaris 5.9」では、プロトタイプがない場合、「関数「atomic_add_32_nv」にはプロトタイプが必要です」というエラーが表示されます。

私を助けてください!

4

1 に答える 1

0

<atomic.h>私が思い出す限り、アトミック関数のサポート (を介して) は Solaris 10 で追加されました。「solaris 10 アトミック オペレーション」のグーグル検索は、さまざまなヒットを通じてこれをサポートしているようです。

Solaris 9 では、ミューテックスを使用してラッパーを提供するか (アトミック操作よりもかなり遅くなりますが、アプリにとっては問題にならない場合があります)、アセンブラーを使用してそれらの機能を実装する必要があります (プロセッサ/アーキテクチャ x86/sparc ごとに、サポートする必要があります)。

また、一般的なオープン ソース プロジェクト (apache httpd、boost など) がどのようにそれを行っているかを調べて、そこから進むこともできます。

関連する議論については、このSO トピックを参照してください。

于 2013-01-14T11:06:39.847 に答える