2016-03-30 10 views
3

Ich bin neu in VxWorks und ich entwickle eine Software mit C++ in VxWorks-Plattform. Ich möchte wissen, ob der VxWorks-Compiler den C++ 11-Standard unterstützt. Der Grund, warum ich diese Frage stelle, ist, weil es keine Funktion shrink_to_fit() std :: vector gibt (diese Funktion wird in C++ 11 Standard eingeführt). Daher möchte ich wissen, ob es eine Möglichkeit gibt, den Code mit C++ 11 Standard in VxWorks zu kompilieren.C++ 11 in vxworks

+0

ich mit VxWorks arbeiten, wie gut und ich bezweifle es stark:

Sie könnte dich interessieren. Ich habe nicht genug Informationen, um genau zu sagen, dass es funktioniert oder nicht, aber bis vor kurzem hatten sie große Probleme mit Vorlagen. Wir haben aus diesem Grund lange Zeit in C programmiert. Ich werde ein wenig auf der Arbeit herumfragen und schauen, ob jemand anders hier mehr weiß als ich. Weil ich das gerne auch haben würde. – DeathTails

+0

@Tails Vielen Dank für Ihre Hilfe – Harry

Antwort

2

Ich gehe davon aus, dass Sie den WindRiver (diab) -Compiler verwenden, den wir auch für unsere VxWorks-Plattform verwenden. Wenn das der Fall ist, habe ich auf ihrer Website ein PDF gefunden, das ziemlich deutlich zeigt, dass sie nur bis C++ 03 konform sind.

Link to the pdf

Unterstützung für ANSI C89, C99 und C++ 2003

Offenbar VxWorks hat auch GNU und ICC-Compiler-Unterstützung, aber ich bin nicht so vertraut mit, wie sie arbeiten mit VxWorks.

+0

Hi DeathTails kennen Sie keine Möglichkeit, die Werte beliebiger Variablen (char int float) atomar zu setzen und zu erhalten, die sowohl in vxworks als auch in linux ohne Mutex funktionieren. – Harry

+0

@Harry Ich bin nicht so vertraut VxWorks-Threading. Ich weiß, dass wir ihre Aufgaben und Semaphor-Sperren für unsere Anwendung verwenden, aber ich weiß nichts über ihre Atomik oder Kompatibilität mit Linux. Sie werden wahrscheinlich besser als eine separate Frage fragen. – DeathTails

3

Es gibt kommerzielle Versionen von g ++ für vxWorks, die C++ 11 unterstützen. Soweit ich weiß, sind diese Ports von g ++ für vxWorks 7.0 oder höher verfügbar.

+0

Hallo KimKulling kennen Sie eine Möglichkeit, die Werte beliebiger Variablen (char int float) atomar zu setzen und zu verwenden, die sowohl in vxworks als auch in linux ohne Mutex funktionieren. – Harry

+0

Wenn Sie C++ 11 verwenden können: Überprüfen Sie die cppreference: http : //de.cppreference.com/w/cpp/atomic/atomic – KimKulling

+0

Danke für die Antwort. Tatsächlich verwenden wir vxworks 6.7 und ppcgnu Compiler. Also ich denke, diese Version unterstützt nicht C++ 11 Standard in Vxworks 6.7 – Harry