MS VC++ 6 und Nachfolger
-
Erhard Henkes schrieb:
Wie hoch ist der Anteil: Wer verwendet noch den guten alten VC++ 6 ?
ich nehme den um c-codes auf'm pc zu testen und zu debuggen (unit tests). der c-compiler ist schnell und zickt nicht rum. vs7/vs8 usw. sind von der bedienung her umständlicher...
-
NES-Spieler schrieb:
An Jochen Kalmbach:
Das, was Du mir da geschickt hast, waren ja nur Konsolenanwendungen. Die haben ja unter der 6er Version auch keine Probleme gemacht (obwohl sie da nichtmal DLL-Dateien brauchten).Mann... Du hast keine Ahnung. Wenn Du gegen die DLL-Version der CRT linkst, musst Du auch die DLLs der CRT mitliefern!
Das die heutzutage auf einem System drauf sind ist sehr wahrscheinlich, da VC6 schon über 8 Jahre alt ist...NES-Spieler schrieb:
Kannst Du mir nicht eine MFC-Anwendung schicken (eine dialogfeldbasierte Anwendung mit einem OK- und einem Abbrechen-Button)? Ich würde gern mal sehen, ob das ebenfalls funktoniert. Danke.
Warum sollte ich? Was für die einen DLLs gilt, gilt auch für die anderen. Es geht. (Punkt)
-
kann es sein, daß die statischen Libaries und die entsprechenden DLL's nicht identisch sind?!?
Ich habe mal ein Projekt mit statischen Libs erzeugt und darin eine ListBox eingebaut, dann habe ich umgestellt auf DLL-linken und noch eine weitere ListBox erstellt - nur das Resultat (also die neue Listbox) war etwas anders als vorher, währen die alte Listbox unverändert war...
man konnte mit der DLL-Version mehr anfangen als mit der statisch gelinkten Version. Ist das normal, oder hab' ich was übersehen?
-
Newbi007 schrieb:
kann es sein, daß die statischen Libaries und die entsprechenden DLL's nicht identisch sind?!?
Sie sind in der Funktion komplett identisch. Unterschiede bestehen im gesamten Konstrukt wenn andere DLLs ins Spiel kommen, die auch die MFC verwenden.
Die CRT ist sowieso gleich, was den Funktionsweise und Umfang betrifft.
-
Mann... Du hast keine Ahnung. Wenn Du gegen die DLL-Version der CRT linkst, musst Du auch die DLLs der CRT mitliefern!
Schön, nur daß Konsolenanwendungen in Visual C++ 6.0 gegen keinerlei CRT-DLLs gelinkt werden. Die einzige DLL-Datei, von der so eine Konsolenanwendung abhängig ist, ist die "kernel32.dll". Ich weiß ja nicht, was für zusätzliches Zeug man da noch benutzen kann, das dann DLL-Dateien erfordert, aber ein Programm, welches zum Beispiel iostream, cstdlib und sogar windows.h inkludiert, braucht keine weiteren DLL-Dateien,α was mit dem Dependency Walker nachgeprüft werden kann.
Das die heutzutage auf einem System drauf sind ist sehr wahrscheinlich, da VC6 schon über 8 Jahre alt ist...
Das liegt nicht nur daran, daß heutzutage alles schon bei den Detriebssystemen dabei ist. Führe eine Standardinstallation von Windows 95 durch und starte ein auf einem anderen Computer mit VCPP6 erstelltes Konsolenprogramm! Wenn es nicht gerade die MFC-Klassen oder derartiges benutzt, kannst Du es ohne Probleme starten.
-
NES-Spieler schrieb:
Schön, nur daß Konsolenanwendungen in Visual C++ 6.0 gegen keinerlei CRT-DLLs gelinkt werden.
Das hat doch mit Konsolenanwendungen nichts zu tun! Das sind Compiler/Linker-Einstellungen!
Mein Beispiel ist gegen die DLL-Version der CRT gelinkt und somit von msvcr80.dll abhängig (zeigt zumindest mein depends.exe an).
-
Gut, speziell mit Konsolenanwendungen hat es nichts zu tun, aber generell mit der Frage, was für ein Projekt man auswählt, schon (bzw. sind Compiler- und Linker-Einstellungen von verschiedenen Projektarten per default jeweils unterschiedlich): Konsolenanwendungen und ich glaube auch einfache WinAPI-Programme können sofort gestartet werden und sind von keinen DLL-Dateien abhängig. MFC-Programme dagegen brauchen die "mfc42.dll" und die "msvcrt.dll". Aber das scheint sich ja mit den neuen Versionen geändert zu haben, so daß die alle von einer CRT-Datei abhängig sind.
-
NES-Spieler schrieb:
MFC-Programme dagegen brauchen die "mfc42.dll" und die "msvcrt.dll". Aber das scheint sich ja mit den neuen Versionen geändert zu haben, so daß die alle von einer CRT-Datei abhängig sind.
du kannst den ganzen schrott statisch linken dann braucht dein programm nur die dlls, die windoze sowieso hat (kernel32, ntdll, usw...)
-
In der Standard-Ausgabe geht das leider noch nicht. Außerdem wäre es unnötig, da, wie gesagt, alle Betriebbsysteme ab Windows 98 (Erste Ausgabe) diese DLL-Dateien haben. Und für den Rest kann ich sie auch einfach mitgeben.
-
NES-Spieler schrieb:
In der Standard-Ausgabe geht das leider noch nicht. Außerdem wäre es unnötig, da, wie gesagt, alle Betriebbsysteme ab Windows 98 (Erste Ausgabe) diese DLL-Dateien haben. Und für den Rest kann ich sie auch einfach mitgeben.
Komisch, dass ich die MFC-Dlls bei 98 SE und XP noch mitgeben muss.
Du meinst doch:
msvcr71.dll
MFC71.dll
msvcp71.dll
Oder?Naja, jedenfalls reichen die, damit eine mit VC2003 erstellte MFC-Anwendung läuft.
-
Ich sprach noch immer von der 6er Version von Visual C++, nicht von 2003.