4

C11 標準が作成されてから 1 か月しか経っていないことは知っていますが、草案_Atomicはずっと古いものです。また、標準が正式に承認される前に、GCC コンパイラがそのような機能を実装するために真剣に取り組んでいることも知っています。しかし、サポートはまだプライムタイムの準備ができていません

ただし、他のコンパイラにも興味があります。Visual Studio、または組み込みコンパイラ cq. 環境。そのようなサポートを提供するために準備を整えているコンパイラー・プロバイダーはいますか? リンクは大歓迎です。

私は自動車の組み込み開発に取り組んでおり、自分でその方向に進むべきかどうか疑問に思っているので、質問しています。これまで、ほとんどの環境 (AutoSAR や Vector OS サポートなど) は独自のソリューションを提供してきましたが、新しい標準では特定の構文とセマンティクスが提供されています。コンパイラの作成者が C11 の方向に向かわない限り、これは唯一の真の解決策であり続けます。

4

3 に答える 3

3

キーワード自体のサポートには時間がかかると思いますが、まだ何も見ていません。ライブラリ サポート (サポート機能) に関するものは、既に他にもあります。__sync_...特に、ほとんどのプラットフォームで整数型のアトミック操作用の汎用関数を実装する gcc について知っています。

私は現在、C11のP99のコンプライアンス層に取り組んでいます。スレッド部分 (POSIX スレッドの上) は既に存在し、アトミック (gcc プリミティブを使用) は間もなく完成します。これは、標準で予見されている型ジェネリック 関数を実装するマクロを介して、すべての基本型のアトミックをサポートするジェネリック実装になります。atomic_...

P99 サイトで最初のバージョンを表示できますが、完成までにはまだ数日かかります。

于 2012-01-05T11:09:18.117 に答える
2

FreeBSD HEAD には、ある程度移植可能なバージョンの : http://svnweb.freebsd.org/base/head/include/stdatomic.h?view=markupが含まれています。

次の 3 種類のコンパイラがサポートされています。

  • Clang 3.1 のアトミック組み込み (まだリリースされていません)
  • GCC 4.7 のアトミック組み込み関数 (まだリリースされていません)
  • GCC の __sync インターフェース
于 2012-02-13T09:33:21.930 に答える
0

Pelles C バージョン 7.00 (リリース候補版) はそれらをサポートしています。

http://www.smorgasbordet.com/pellesc/

于 2012-04-16T07:20:27.410 に答える