Wo sind die restlichen Header beim .NET Framework SDK?
-
Wenn ich das Microsoft .NET Framework Redistributable Package und das SDK installiere (ob Version 1.1 oder 2.0 ist egal), dann gibt es ja da auch einen C++-Compiler mit zu. Meine Frage: Wo sind eigentlich die bekannten Header? Es gibt da noch nichtmal eine iostream. In "C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include" liegen lediglich folgende Dateien:
eh.h
assert.h
conio.h
ctype.h
direct.h
dos.h
errno.h
excpt.h
fcntl.h
float.h
fpieee.h
io.h
limits.h
locale.h
malloc.h
math.h
mbctype.h
mbstring.h
memory.h
minmax.h
new.h
process.h
search.h
setjmp.h
setjmpex.h
share.h
signal.h
stdarg.h
stddef.h
stdexcpt.h
stdio.h
stdlib.h
string.h
tchar.h
time.h
typeinfo.h
varargs.h
wchar.h
xmath.h
_vcclrit.h
gcroot.h
vcclr.hWie soll ich denn damit programmieren? (Und nein, sagt mir bitte nicht, ich soll Visual C++ 2005 Express Edition installieren, mich interessiert im Moment, wie die sich das gedacht haben, wie ich mit dem SDK C++ programmieren soll.)
-
Was hat das Verzeichnis "C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include" mit dem PSDK zu tun?
Und für was brauchst Du das ".NET Framework Redistributable Package" wenn Du C/C++ machen willst?
Und was soll "Version 1.1 oder 2.0" im Zusammenhang mit dem PSDK bedeuten?Wenn Du mit dem PSDK entwickeln willst, dann solltest Du unter
"C:\Programme\Microsoft Platform SDK\Setup"
die Datei
"SetEnvLaunchWinXP32Debug.Cmd"
ausführen. Dann geht alles.
(hab hier das "Microsoft Platform SDK for Windows Server 2003 SP1" installiert)
-
Was hat das Verzeichnis "C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include" mit dem PSDK zu tun?
Ich meine nicht das PSDK (mit der WinAPI), sondern das .NET Framework Software Development Kit (www.microsoft.com/downloads/details.aspx?FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d&DisplayLang=de).
Und für was brauchst Du das ".NET Framework Redistributable Package" wenn Du C/C++ machen willst?
Das Redistributable Package brauche ich, damit ich das SDK installieren kann und das SDK hat zusätzlich noch den C++-Compiler drin, den ich mal ausprobieren wollte.
Und was soll "Version 1.1 oder 2.0" im Zusammenhang mit dem PSDK bedeuten?
Nicht im Zusammenhang mit dem PSDK, sondern mit .NET. Ich wollte damit lediglich ausdrücken, daß das Problem bei beiden Versionen des .NET Framework SDK (1.1 und 2.0) auftritt.
-
NES-Spieler schrieb:
Ich wollte damit lediglich ausdrücken, daß das Problem bei beiden Versionen des .NET Framework SDK (1.1 und 2.0) auftritt.
Was für ein Problem!?
Das .NET SDK enthält keine Header um WinAPI zu programieren... warum auch!?
-
Wer spricht hier von WinAPI? Mein Problem war: Obwohl das .NET Framework SDK einen vollwertigen C++-Compiler beinhaltet (wahrscheinlich den gleichen wie in Visual C++), gibt es dort nichtmal eine iostream. Und da wollte ich eben wissen, wieso das so ist?
-
Hem, also ich verstehe dein Problem auch nicht. Aber meinst du nicht, das man für C++/CLI keine Headers benötigt???
-
NES-Spieler schrieb:
Wer spricht hier von WinAPI? Mein Problem war: Obwohl das .NET Framework SDK einen vollwertigen C++-Compiler beinhaltet (wahrscheinlich den gleichen wie in Visual C++), gibt es dort nichtmal eine iostream. Und da wollte ich eben wissen, wieso das so ist?
??? .NET => C++/CLI. Und dass kannst Du ganz vollwertig mit dem Compiler machen! Dazu braucht man kein iostream!
-
NES-Spieler schrieb:
...gibt es dort nichtmal eine iostream. Und da wollte ich eben wissen, wieso das so ist?
Weil du nicht gucken kannst
Die Standardheader heißen einfach iostream,sstream,ostream, genauso wie die der Standardbibliothek auch einfach vector, queue, map oder set heißen - alle ohne des ".h" - so wie es der Standard verlangt.
-
Hem, also ich verstehe dein Problem auch nicht. Aber meinst du nicht, das man für C++/CLI keine Headers benötigt???
??? .NET => C++/CLI. Und dass kannst Du ganz vollwertig mit dem Compiler machen! Dazu braucht man kein iostream!
Nein, ich will kein C++/CLI, sondern ganz normales C++ machen.
O.k., als Motivation, wieso ich dafür das .NET Framework SDK und nicht einfach Visual C++ 2005 Express Edition installiere, könnt Ihr Euch unter anderem folgendes vorstellen: Ich möchte mal sehen, in wie weit sich die C++-Compiler bzw. Bibliotheken von 2003 und 2005 unterscheiden. Da es aber kein Visual Studio 2003 Express Edition gibt und da das Visual C++ Toolkit nicht mehr verfügbar ist, habe ich mir einfach das .NET Framework SDK 1.1 heruntergeladen, welches auch den C++-Compiler von 2003 beinhaltet. Aber nun stehe ich vor dem Problem, daß dieser nur die in meinem ersten Post genannten Header installiert. Das heißt, ich könnte damit vielleicht C programmieren, aber standardmäßiges C++ mit iostream und vector geht nicht, weil mir die Headerdateien fehlen. Und deshalb waren meine Fragen: Wieso packt Microsoft den C++-Compiler und Standard-C-Header in das .NET Framework, aber nicht die Standard-C++-Header bzw. wie müßte man in diesem Fall vorgehen, um die Standard-C++-Header zu bekommen?Weil du nicht gucken kannst
Die Standardheader heißen einfach iostream,sstream,ostream, genauso wie die der Standardbibliothek auch einfach vector, queue, map oder set heißen - alle ohne des ".h" - so wie es der Standard verlangt.
Glaubst Du, ich weiß nicht, daß die Standard-Header kein ".h" am Ende haben? Hättest Du mal richtig geguckt (welche Ironie), dann hättest Du gesehen, daß ich im ersten Post genau aufgelistet habe, welche Dateien sich alle im Ordner "C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include" befinden, und dort liegt weder das eine, noch das andere.
-
Nochmals zum mitschreiben:
.NET-SDK=> C++/CLI => minimal CRT, spezielle C++/CLI-Header und kein STL oder sonstiges native C++ Zeugs
PSDK => (native) C++ => CRT / STLFazit: Du hast Dich für den falschen Download entschieden
(ja, auch im PSDK in der C++ Compiler dabei)
-
PS: Wenn Du den Unterschied von VC2003 und VC2005 wissen willst, dann schau entweder in die Doku und kauf Dir beide Versionen..
-
Fazit: Du hast Dich für den falschen Download entschieden
Das hab ich nur getan, weil ich hier auf dem Forum mal gefragt habe, wo man noch das Visual C++ Toolkit herunterladen kann und mir jemand gesagt hat, daß ich auch das .NET SDK nehmen kann, da dort auch ein C++-Compiler dabei ist.
PS: Wenn Du den Unterschied von VC2003 und VC2005 wissen willst, dann schau entweder in die Doku und kauf Dir beide Versionen..
Also, das ist ja nun wirklich einer der dümmsten Sprüche, die ich in der letzten Zeit gehört habe.
Erstens mal bin ich nicht Krösus. Das heißt, ich habe kein Geld übrig, um mir eine Entwicklungsumgebung zu kaufen, nur um die mal eine halbe Stunde lang aus Neugier auszuprobieren.
Und was das Lesen der Dokumentation betrifft: Du bist wohl so ein Typ, der, wenn er sich ein Auto oder einen Fernseher kaufen will, die entsprechenden Geräte nicht mal ansieht und antestet, sondern sich stattdessen ausschließlich die technischen Produktspezifikationen durchliest, was?
-
NES-Spieler! Ganz ruhig bleiben, Brauner!
Jochen versucht dir nur zu helfen, den brauchst du garnicht so anmachen. Er hat dir praktisch jede Frage beantwortet (muß er eigentlich nicht).
Ich verstehe immer noch nicht was du eigentlich willst? Du willst also sozusagen VisualC++ 2005 testen? Warum lädts du dir dann nicht einfach die KOSTENLOSE VisualC++ 2005 Express Edition runter? Die kannst du sogar unendlich lange benutzen und hast sogar noch eine moderne IDE. Wenn du die IDE nicht benutzen willst, kannst du auch den Compiler über Kommandozeile bedienen. Bei der Express ist jedenfalls die C++-Standardbibliothek komplett dabei, plus dem PSDK haste alles tutti kompletti um ausgiebig zu testen. Wobei du es auch gleich endgültig benutzen kannst.
Wenn es dir um die kaufpflichtige Standard-Edition geht: die hat halt ein paar zus. Features wie MFC 8.0 usw. dabei. Aber muß man die testen? Ist "nur" ein Update zu deinem VC++2003.
Und zus. kann man meines Wissens die VS2005 Prof. runter laden und 30 Tage kostenlos testen. Habe ich aber nie probiert sondern immer nur den Werbebanner auf der MS-Homepage gesehen. Schau dich da mal um, vielleicht kann man es noch runter laden.
Am Ende frage ich mich: warum der ganze Umstand mit dem .NET-SDK obwohl du C++ machen willst?
-
NES-Spieler! Ganz ruhig bleiben, Brauner!
Jochen versucht dir nur zu helfen, den brauchst du garnicht so anmachen. Er hat dir praktisch jede Frage beantwortet (muß er eigentlich nicht).
Gegen die Beantwortung der Fragen hatte ich auch nichts, aber die Aussage "Wenn Du den Unterschied von VC2003 und VC2005 wissen willst, dann schau entweder in die Doku und kauf Dir beide Versionen.." ist meiner Meinung nach nur ein dummer Spruch und allein über den habe ich mich aufgeregt. Vor allem über das mit der Dokumentation, denn das erinnert mich an diese Theoretiker, denen ein Pflichtenheft wichtiger ist als ein fertiges Produkt und denen Compiler und Quellcodes scheißegal sind, aber bei dem Wort "Dokumentation" geht ihnen voll einer ab. Ich hoffe, daß Jochen nicht zu diesen Typen gehört und der Spruch nur zufällig so klang wie von diesen Typen, für die die grafische Abbildung des Wasserfallmodells das Non Plus Ultra ist, während alles, was mit echter, praktischer Programmierung zu tun hat, als zu vernächlässigendes Nebenprodukt angesehen werden kann.
Ich verstehe immer noch nicht was du eigentlich willst? Du willst also sozusagen VisualC++ 2005 testen?
Nein, ich wollte mal (unter anderem) das Verhalten der beiden Compiler von 2003 und 2005 und die Größe der erstellten EXE-Dateien etc. testen. Daß es eine Express Edition gibt, ist mir auch klar, aber es gibt keine kostenlose 2003er-Version mehr (das Toolkit haben sie ja von der Seite runtergenommen), und deshalb habe ich das .NET Framework SDK 1.1 installiert, weil das noch das einzige kostenlose verfügbare Programm ist, wo auch der 2003er-C++-Compiler dabei ist. Aber dann stieß ich eben auf das Problem, daß dort gar nicht die Standard-Header drin sind. Tja, das war mein ursprüngliches Problem.
Ist "nur" ein Update zu deinem VC++2003.
Ich habe kein Visual C++ 2003, sonst hätte ich das .NET SDK nicht runtergeladen.
-
Du hast gesagt, du willst die Unterschiede wissen. Die neuesten Features und Änderungen am Compiler kann man in der Doku erfahren. Nichts mit Diagrammen oder so. Z.B. das im 2005er C++/CLI neu dazu gekommen ist. (folglich hat der 2003er kein C++/CLI) Oder das es neue Compiler-Flags gibt, die dies und jenes bewirken. (was wieder auf die Features des 2003 schliessen lässt) Das kannst du in der MSDN nachlesen. Ich bezweifel, das du diese Unterschiede ohne Doku herausfinden und wissen kannst. Auch kannst du in der 2003er Doku nachsehen, was der 2003er kann.
So, es ist traurig das wir nach zwei Seiten feststellen, das du wissen willst, was der ALTE VC++2003-Compiler kann?!
Das will mir zwar nicht in den Kopf, warum du den alten Compiler testen willst, wo doch der neuere viel besser ist als der alte. (wen wundert das?) Aber gut, wird seine Gründe haben, warum du es wissen willst. Wenn du uuuuuuuuuuuunbedingt es slebst testen mußt, muß auch das Geld für die 2003er Version da sein. Sonst wäre es ja nicht so wichtig? Und man muß keine neuewertige kaufen, bei ebay, amazon oder auch hier, gibt es bestimmt Gebrauchtangebote.
-
Lad dir doch Visual C++ 2003 Toolkit woanders als bei Microsoft runter.
-
Du hast gesagt, du willst die Unterschiede wissen. Die neuesten Features und Änderungen am Compiler kann man in der Doku erfahren. Nichts mit Diagrammen oder so.
Das mit den Diagrammen war nur ein Vergleichsbeispiel, um diese Dokumentationsfreaks und Theoretiker zu persiflieren und hatte nicht direkt was mit dem Thema hier zu tun.
Und ich wollte das ganze einfach nur mal praktisch ausprobieren und mal gucken, wie groß die Exe-Dateien werden oder in wie weit der Compiler auch tolerant ist bezüglich Sprachkonstrukten, die vor dem Standard existierten. Ich wollte weder eine allumfassende Analyse durchführen, noch irgendwelche Dokumente lesen, sondern die Compiler einfach mal ein paar Minuten lang ausprobieren und Dinge testen, die mir so in den Sinn kommen.So, es ist traurig das wir nach zwei Seiten feststellen, das du wissen willst, was der ALTE VC++2003-Compiler kann?!
Meine ursprüngliche Frage war ja lediglich, warum das .NET Framework SDK zwar einen C++-Compiler, aber keine C++-Bibliotheken beinhaltet. Das war ursprünglich alles, was ich wissen wollte. Diese Frage wurde schon beantwortet (wenn auch erst, nachdem umständlich erläutern mußte, wieso ich denn jetzt das SDK runtergeladen habe). Das mit dem Compiler vergleichen war eigentlich nur eine Zusatzinformation, damit man ungefähr meine Motivation versteht, die 2003er Version runterzuladen. Und das habe ich nicht erst nach zwei Seiten geschrieben, sondern in meinem vierten Beitrag:
O.k., als Motivation, wieso ich dafür das .NET Framework SDK und nicht einfach Visual C++ 2005 Express Edition installiere, könnt Ihr Euch unter anderem folgendes vorstellen: Ich möchte mal sehen, in wie weit sich die C++-Compiler bzw. Bibliotheken von 2003 und 2005 unterscheiden.
Das will mir zwar nicht in den Kopf, warum du den alten Compiler testen willst, wo doch der neuere viel besser ist als der alte. (wen wundert das?)
Einfach nur mal so. Wieso wird Windows 95 bei eBay angeboten und gekauft, wo doch die späteren Windows-Versionen viel besser sind?
Wenn du uuuuuuuuuuuunbedingt es slebst testen mußt, muß auch das Geld für die 2003er Version da sein. Sonst wäre es ja nicht so wichtig?
Es ist nicht so wichtig und ich muß es nicht "uuuuuuuuuuuunbedingt" haben. Das mag jetzt nach so viel Geschreibe vielleicht so wirken, aber ursprünglich hatte ich das Thema nur eröffnet, weil ich gehofft hatte, daß mir jemand kurz und unkompliziert(!) erklären kann, wieso das .NET Framework SDK zwar einen C++-Compiler, aber keine C++-Header besitzt. Hätte ich gewußt, daß ich für die Beantwortung dieser Frage erstmal meine gesamte Lebensgeschichte als nötige Nebeninformation geben muß, hätte ich die Frage gar nicht gestellt.
-
NES-Spieler schrieb:
ursprünglich hatte ich das Thema nur eröffnet, weil ich gehofft hatte, daß mir jemand kurz und unkompliziert(!) erklären kann, wieso das .NET Framework SDK zwar einen C++-Compiler, aber keine C++-Header besitzt.
Dann stell auch nächstesmal diese Frage!!! Diese Frage geht aus keinen Threads von Dir hervor; und schon gar nicht dem ersten. Diese Frage musste ich erst aus Deiner Nase rausziehen...
-
Aus meinem ersten Post:
Wenn ich das Microsoft .NET Framework Redistributable Package und das SDK installiere (ob Version 1.1 oder 2.0 ist egal), dann gibt es ja da auch einen C++-Compiler mit zu. Meine Frage: Wo sind eigentlich die bekannten Header? Es gibt da noch nichtmal eine iostream. In "C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include" liegen lediglich folgende Dateien:
[...]
Wie soll ich denn damit programmieren? (Und nein, sagt mir bitte nicht, ich soll Visual C++ 2005 Express Edition installieren, mich interessiert im Moment, wie die sich das gedacht haben, wie ich mit dem SDK C++ programmieren soll.)Beachte bitte das Fettgeschriebene!
Und hier nochmal aus meinem dritten Post:
Mein Problem war: Obwohl das .NET Framework SDK einen vollwertigen C++-Compiler beinhaltet (wahrscheinlich den gleichen wie in Visual C++), gibt es dort nichtmal eine iostream. Und da wollte ich eben wissen, wieso das so ist?
Ich hoffe, das reicht, um zu belegen, daß ich mein Anliegen von Anfang an klar zum Ausdruck gebracht habe. Wenn Ihr dann plötzlich von WinAPI- oder C++/CLI-Programmierung redet, obwohl ich nichts von beidem je erwähnt habe, sondern von Anfang an die fehlende "iostream" als Beispiel für mein Problem nahm, dann ist es nicht meine Schuld, wenn Ihr verwirrt seid.