2016-03-30 28 views
3

VxWorksを初めて使用しており、VxWorksプラットフォームでC++を使用してソフトウェアを開発しています。 VxWorksコンパイラがC++ 11標準をサポートしているかどうかを知りたい私がこの質問をしているのは、shrink_to_fit()std :: vector関数が存在しないからです(この関数はC++ 11標準で導入されています)。だから、VxWorksのC++ 11標準でコードをコンパイルする方法はあるのでしょうか。vxworksのC++ 11

+0

。私はそれが正確かどうかを言うには十分な情報がありませんが、最近までテンプレートに大きな問題がありました。私たちはこれのためにC言語で最長のプログラミングを続けてきました。私は仕事でちょっと尋ねて、ここの誰かが私より多くを知っているかどうかを見てみましょう。私はこれも持っているのが大好きなので。 – DeathTails

+0

@Tailsあなたの助けをありがとう – Harry

答えて

2

私はVxWorksプラットフォーム用にWindRiver(diab)コンパイラを使用していると仮定しています。その場合、Webサイトには、C++ 03までしか準拠していないことを明確に説明しているpdfが見つかりました。 ANSI C89、C99、およびC++ 2003

ため

Link to the pdf

サポートはどうやら、VxWorksのもGNUとICCのコンパイラをサポートしているが、私は彼らがどのように動作するかのように慣れていないんですよVxWorks。

+0

こんにちはDeathTailsは、アトミックに設定し、mutexを使用せずにvxworksとlinuxの両方で動作する任意の変数(char int float)の値を取得する方法を知っています – Harry

+0

@Harry VxWorksのスレッド。アプリケーションにはタスクやセマフォーロックを使用していますが、アトミックやLinuxとの互換性についてはわかりません。おそらくそれを別の質問として尋ねる方が良いでしょう。 – DeathTails

3

C++ 11をサポートしているvxWorks用の市販のg ++​​があります。私が知る限り、g ++のこれらのポートはvxWorks 7.0以上で使用できます。

+0

こんにちはKimKulling mutexを使わずにvxworksとlinuxの両方で動作する任意の変数(char int float)の値を原子的に設定して取得する方法を知っています – Harry

+0

C++ 11を使用できる場合:cppreference:httpをチェックしてください://de.cppreference.com/w/cpp/atomic/atomic – KimKulling

+0

返事をありがとう。実際には、vxworks 6.7とppcgnuコンパイラを使用しています。だから、このバージョンはvxworks 6.7のC++ 11標準をサポートしていないと思います – Harry

0

VxWorks7のみ。VxWorks7に付属するダイアブは、C++ 11をサポートしていません。

gnatpro 17.1はgcc 6.2.1で出荷され、VxWorksで動作します。

あなたはに興味があるかもしれない:私は、同様のVxWorksと協力し、私は非常にそれを疑う http://en.cppreference.com/w/cpp/compiler_support