0

__sync_lock_test_and_setANSI cでは使用できないが、GNUC拡張機能である関数を使用したい。

この拡張機能を使用するコードをコンパイルすると、次のエラーが発生します。

/tmp/cc7Iat9G.o: In function `main':
swap.c:(.text+0x40): undefined reference to `__sync_lock_test_set'
collect2: ld returned 1 exit status

したがって、GNU C拡張機能を使用してコードをコンパイルするには、どのヘッダーファイルを含める必要がありますか、またはどのコンパイラフラグを指定する必要がありますか

4

1 に答える 1

1

私はあなた__sync_lock_test_setが意味したときにあなたがタイプしたと思います__sync_lock_test_and_set。後者は、アトミックビルトインに関するGCCドキュメントで言及されています。前者はそうではありません。

于 2013-03-04T17:48:53.560 に答える