Verwendete C++-Version herausfinden

Gast #5767457
Lesenswert?

Hallo,
als Hausarbeit soll ich eine Software schreiben und die verwendeten 
Standards angeben. Die Compilerversion habe ich schon herausgefunden.

Nun fehlt mir noch die verwendete C++-Version.
Gibt es unter Linux einen Befehl, der mir sagt, welches C++ von g++ 
verwendet wird?

Falls noch weitere Infos benötigt werden bitte einfach posten!
Gast #5767585
Lesenswert?

Schon mal vielen Dank für die Antwort!

zitter_ned_aso schrieb:
> Der Compiler selbst wird mehrere Standards unterstützen. Du musst
> entscheiden wie du programmieren willst.

Wird dann standardmäßig ein bestimmter Standard verwendet und kann man 
diesen herausfinden?

Ich kompiliere bspw einfach mit
1
g++ test.cpp -lode -ldrawstuff -lGL -lGLU -lglut -lpthread -lX11
(Firma: www.elpra.de) Persönliche Seite #5767594
Lesenswert?

Schau einfach mal via
1
man g++

iim Abschnitt -std= nach. Da findest welcher Standart der Default ist, 
z.B.:
1
gnu11
2
gnu1x
3
    GNU dialect of ISO C11.  The name gnu1x is deprecated.
4

5
gnu17
6
gnu18
7
    GNU dialect of ISO C17.  This is the default for C code.
8

9
c++98
10
c++03
11
    The 1998 ISO C++ standard plus the 2003 technical corrigendum and some additional defect reports. Same as -ansi for C++ code.
Gast #5767600
Lesenswert?

1) Makrowert von __cplusplus anzeigen lassen
1
std::cout << __cplusplus << std::endl;
Quelle: 
https://stackoverflow.com/questions/46980383/how-to-determine-what-c-standard-is-the-default-for-a-c-compiler


2) Dann kannst du hier prüfen für welchen Standard diese Zahl steht:


1
...the value of the macro is 199711L for the 1998 C++ standard, 201103L for the 2011 C++ standard, 201402L for the 2014 C++ standard, 201703L for the 2017 C++ standard, or an unspecified value strictly larger than 201703L for the experimental languages enabled by -std=c++2a and -std=gnu++2a.

Quelle: 
http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html

(  Punkt 0): Lernen google zu benutzen ;-) )
#5768255
Lesenswert?

zitter_ned_aso schrieb:
> @DPA
>
> Wie gehst du vor, wenn du Mathe-Konstanten (PI, etc) brauchst? Bei
> "-std=gnu..." sind solche Zahlen ja dabei.
>
> Gibt es da eine elegante Lösung für dieses Problem? (außer alles selbst
> zu definieren)

Was brauchst Du denn an Konstanten?

#include <math.h>

const double m_pi=4*atan(1);
const double m_e=exp(1);

fchk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren