Forum: PC-Programmierung Visual Studio und C++


von Joshua H. (joshih13)


Lesenswert?

Guten Tag,
bisher habe ich das Programm DEV-C++ genutzt und möchte nun aufgrund der 
einfacheren Bedienung auf Visual Studio wechseln. Programmieren möchte 
ich ganz normal, wie in DEV-C++ gewöhnt. Die Probleme lassen jedoch 
nicht lange auf sich warten. Schon allein die Header lassen sich nicht 
einbinden (beispielsweise die Windows.h) und auch viele weitere Befehle 
funktionieren einfach nicht. Vor allem bringt mich jedoch der 
Projektmappenmanager oder wie das Ding heißt durcheinander. Bei einer 
Visual C++ Datei sind da mehr als 100 Dateien eingebunden, unteranderm 
auch eine Headerdatei des selben Projekts. Wie ihr seht hab ich echt 
keine Ahnung von dem Programm und deshalb suche ich hier nach Tipps, um 
auf Visual Studio umzusteigen. Vielen Dank schonmal im Vorraus!

von Vilex (Gast)


Lesenswert?

nimm doch einfach QT!

von Kaj (Gast)


Lesenswert?

Visual Studio öffnen
Neues Projekt
Vorlagen
 |
  ---> Visual C++
         |
          -----> Win32-Konsolenanwendung
Ok klicken
auf weiter klicken
Konsolenanwendnung anwählen, vorkompilierte header abwählen
fertig stellen

Im Projektmappen-Explorer unter Headerdateien die "stdafx.h" und 
"targetver.h" löschen. Ebenso unter Quelldateien "stdafx.cpp" löschen.
Dann hast ud noch unter Quelldateien eine .ccp-Datei die den Namen 
deines Projektes trägt.
Darin sollte jetzt sowas stehen wie:
1
// ConsoleApplication1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
2
//
3
4
#include "stdafx.h"
5
6
7
int _tmain(int argc, _TCHAR* argv[])
8
{
9
  return 0;
10
}

Alles Markieren und löschen und neu machen:
1
#include <Windows.h>
2
3
int main(void)
4
{
5
  // Hier dein Code
6
  return 0;
7
}

Zum Starten einfach oben auf den grünen Pfeil klicken. (oder F5 bzw. 
Strg+F5)

F5 --> Das Konsolenfenster schließt sich am ende des Programmes, sofern 
du kein Mechanismus einbaust der was dagegen tut.(z.B. ein getch(); oder 
ein system("pause"))

Strg+F5 --> Das Fenster schließt sich am ende des Programmes nicht 
sofort, sondern erst, nachdem du eine Taste gedrückt hast.

Grüße

von xsxsxsxs (Gast)


Lesenswert?

wenn du dev c++ gewöhnt warst, versuch es mir CodeBlocks: 
http://www.codeblocks.org/

Visual Studio ist recht mächtig, aber über die Qualität der C++ 
Umsetzung von Microsoft lässt sich streiten.

In der Arbeit arbeite ich zwar mit Visual Studio, privat aber fast nur 
mit Codeblocks. Ist eine absolut angenehme IDE.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

xsxsxsxs schrieb:
> Visual Studio ist recht mächtig, aber über die Qualität der C++
> Umsetzung von Microsoft lässt sich streiten.

Nicht wirklich, die Zeiten von VC++ 6.0 sind schon lange vorbei, und die 
Compiler, die zu den neueren Visual-Studio-Versionen (2008, 2010 und 
2012) gehören, sind in Sachen C++-Standardkonformität vorzüglich.

Was kläglich ist, ist die C-Standardkonformität, da wurde bis 
einschließlich 2010 alles neuere als C89 ignoriert, aber das ist 'ne 
andere Baustelle.

von Dr. Sommer (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> sind in Sachen C++-Standardkonformität vorzüglich.
Visual Studio C++ unterstützt nichtmal constexpr - schwach. Die freien 
Boliden GCC und Clang können das.

von Borislav B. (boris_b)


Lesenswert?

Dr. Sommer schrieb:
> Visual Studio C++ unterstützt nichtmal constexpr - schwach. Die freien
> Boliden GCC und Clang können das.

Stimmt so nicht. Seit fast einem halben Jahr unterstützt der MSVC 
Compiler auch dieses Feature:

http://www.microsoft.com/en-us/download/details.aspx?id=41151

Auch einige der C++ 14 Features sind schon dabei. Hier eine Kurze 
Übersicht:

Implicit move special member function generation (thus also completing 
=default) • Reference qualifiers on member functions (a.k.a. "& and && 
for *this") • Thread-safe function local static initialization (a.k.a. 
"magic statics") • Inheriting constructors • alignof/alignas • _func_ 
• Extended sizeof • constexpr (except for constructors) • noexcept 
(unconditional) • C++14 decltype(auto) • C++14 auto function return type 
deduction • C++14 generic lambdas (with explicit lambda capture list) • 
(Proposed for C++17) Resumable functions and await

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Boris P. schrieb:
> Stimmt so nicht. Seit fast einem halben Jahr unterstützt der MSVC
> Compiler auch dieses Feature:
Ah, gut zu wissen, ich kannte nur das:
http://msdn.microsoft.com/en-us/library/hh567368.aspx

Boris P. schrieb:
> constexpr (except for constructors)
Das ist natürlich bitter :-/

von derfnam (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Die freien Boliden GCC und Clang können das.

Nichts gegen die Compiler (GCC verwende ich häufig und Clang ist in 
einigen Punkten ziemlich genial), aber wenn der MS-Compiler bezüglich 
der C++11-Features so viele Bugs haben würde wie GCC am Anfang - über 
zwei bin ich selbst gestolpert -, hätte man Microsoft mit dem dicken 
Vorschlaghammer bearbeitet. Die sind darum eben etwas konservativer 
(lange CTP-Phasen z.B.). Zumindest gibt es einen recht detaillierten 
Fahrplan:

http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69/0638.Updated-Conformance-Map.png

von Rolf Magnus (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Was kläglich ist, ist die C-Standardkonformität, da wurde bis
> einschließlich 2010 alles neuere als C89 ignoriert, aber das ist 'ne
> andere Baustelle.

Was ist denn nach 2010 passiert? Haben sie versehentlich ein C99-Feature 
implementiert? ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


von Yalu X. (yalu) (Moderator)


Lesenswert?

Rufus Τ. Firefly schrieb:
> http://msdn.microsoft.com/de-de/library/hh409293.aspx

Zum Glück kann man sich diesen Text auch auf Original-Englisch anzeigen
lassen. Die Bedeutung von Phrasen wie

  "Standardvorlagenargumente für Funktionsvorlagen"

oder gar

  "Zeichenfolgenliteralkonvertierung an änderbaren Werten"

hätte ich sonst nie erraten :)

Und dass der derzeit gültige C-Standard nicht C99, sondern C11 (genauer
gesagt ISO/IEC 9899:2011) ist, haben die MS-Jungs wohl auch auch noch
nicht mitbekommen.

: Bearbeitet durch Moderator
von Karl H. (kbuchegg)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Nicht wirklich, die Zeiten von VC++ 6.0 sind schon lange vorbei, und die
> Compiler, die zu den neueren Visual-Studio-Versionen (2008, 2010 und
> 2012) gehören, sind in Sachen C++-Standardkonformität vorzüglich.

Seit sich MS den Herb Sutter ins C++ Team geholt hat, hat sich einiges 
am Compiler getan. Kein Wunder, Herb ist der Vorsitzende des C++ 
ISO-Gremiums.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Yalu X. schrieb:
> Zum Glück kann man sich diesen Text auch auf Original-Englisch anzeigen
> lassen.

Kleine Übungen für den geneigten Leser müssen halt manchmal sein.

von J. S. (Gast)


Lesenswert?

Vilex schrieb:
> nimm doch einfach QT!

Das würde ich aber auch gesagt haben. Mit QT wechselt es sich später mal 
leichter auf Linux. Windows ist eh tot.

von Borislav B. (boris_b)


Lesenswert?

Jürgen N.N. schrieb:
> Mit QT wechselt es sich später mal
> leichter auf Linux. Windows ist eh tot.

^^ Made my day!

von J. S. (Gast)


Lesenswert?

Nur, um nochmal zu antworten: Wir haben seit 8 Jahren alle Applikationen 
auf QT entwickelt und der Linuxmarkt geht kontinuierlich hoch. Selbst 
die Privatanwender laden sich für ihren eigenen Server meistens die 
Linuxversion runter. 30% mehr Anwender im Privaten und insgesamt schon 
71% Linuxdownloads im vergangenen Jahr.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.