Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

1

26.09.2013, 09:13

[C++11] Microsoft Compiler Warnungen analog zu GCC einstellen

Hallo Zusammen,

ich habe ein Projekt, welches ich unter Windows mit VS2012 und C++11 entwickle. Das Projekt lässt sich auch unter Linux übersetzen und funktioniert auch alles blendend. Was mich leider sehr stört ist das unterschiedliche Verhalten bei Warnungen im Code beim Übersetzen:
Im Warnungslevel 3 des Microsoft-Compilers erhalte ich 0 Warnungen. Im GCC mit Eclipse CDT unter Ubuntu erhalte ich einige Warnungen, wie bspw. "Wrong Member initialization Order" oder "Variable not initialized in Constructor". Diese Meldungen finde ich ziemlich hilfreich und frage mich, wie ich das beim Microsoft-Compiler einstellen kann? Warninglevel hochschrauben erzeugt diese Meldungen nicht. Ziel wäre es, möglichst ähnliche Warnungen auch beim Übersetzen unter Windows zu bekommen, damit ich unter linux nicht jedes mal nachbessern muss. Was mache ich am besten?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

26.09.2013, 10:22

Naja, wenn sie selbst mit der höchsten Warnstufe nicht erscheinen, dann kennt MSVC diese Warnungen wohl gar nicht.
Vielleicht könntest du ein externes Tool zur statischen Codeprüfung benutzen ...

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

3

26.09.2013, 15:22

Oder auf Linux entwickeln und zu Windows portieren :3
Also andersrum.

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

26.09.2013, 17:48

Ich möchte ungern unter Linux alles entwickeln, das ist leider ausgeschlossen.

@David: Tools zur statischen Code-Analyse kenne ich nur für .NET, wäre natürlich eine Möglichkeit. Das werde ich mal ausprobieren.
Dachte, gibt hier auch ein paar Entwickler, die genau diesen Anwendungsfall haben...

5

26.09.2013, 22:40

Wäre kuhl, wenn du da bei gefundenen Goldgruben sie zum Ausheben hier publizieren würdest. :)

MfG
Check

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

6

26.09.2013, 23:19

Ich meine bei MSVC++ gab es auch eine 4. Warnstufe. Aber wenn die diese Warnungen auch nicht bringt, dann analysiert der Compiler diese Aspekte nun mal nicht.

Als statisches Codeanalysetool für C++ wird auf meiner Arbeit wohl das hier benutzt http://www.gimpel.com/html/pcl.htm. Aber das ist nicht kostenlos.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

27.09.2013, 06:49

Sonar(Cube) von CodeHouse sollte das können mit dem entsprechenden Plugin. Zumindest nach kurzer Google-Suche. Da kommen sicherlich noch deutlich mehr Vorschläge, wenn man es über seinen C++ jagt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

8

27.09.2013, 07:29

@Legend: Kostenpflichtige Tools kommen leider nicht in Frage, soviel ist mir das dann doch nicht wert ;)

@BlueCobold: Interessant, das werde ich mal ausprobieren.

@Checkmating: Was möchtest du gerne publiziert haben? Ein Tool für statische Code-Analyse?

Schade eigentlich, dass Microsoft so etwas nicht anbietet. Gerade das prüfen aller Membervariablen einer Klasse durch Initialisierungslisten kann man durchaus Schusselfehler vermeiden.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

27.09.2013, 11:37

Microsoft bietet sowas an, spätestens seit 2012 kommt VS mit einem Tool für statische Codeanalyse, allerdings nur in den besseren Editionen. Leider checkt auch dieser Analyzer offenbar gerade diese zwei Dinge nicht...

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

10

27.09.2013, 12:11

Du könntest doch auch alternativ GCC unter Windows nutzen?

Werbeanzeige