Programme aufs niedrigste kompressen
-
Das kleinste Programm mit VC2005EE geht so:
// Smallest program: // Compile with: cl /c /O1 /GS- CPP_VS2005.cpp // Link with: link /subsystem:console CPP_VS2005.obj kernel32.lib #include <windows.h> #pragma comment(linker, "/entry:entry") void entry() { TCHAR szText[] = TEXT("Hello world\n"); DWORD dwWritten; WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), szText, lstrlen(szText), &dwWritten, NULL); }Ergibt bei mir:
27.09.2007 21:30 2.048 CPP_VS2005.exeUnd das ganz ohne Tricks... (oder wo siehst Du hier ein Trick?)
Gut, ich verwende keine CRT, dass ist aber auch schon alles...
-
Jochen Kalmbach schrieb:
Ergibt bei mir:
27.09.2007 21:30 2.048 CPP_VS2005.exehmmm... für das, was das programm macht, finde ich's trotzdem sehr gross.
woran liegt das?

-
Und da du keine CRT verwendest kannst du auch kein RTTI, Exceptions etc. verwenden

-
Das liegt am Format einer COFF-Datei (EXE). Kannst dazu mal die COFF-Specification durchlesen:
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
-
Iiiii, wer will denn schon RTTI??? Sowas hab ich mir nie angetan... Und Exceptions ist nur was für Leute die nicht programmieren können

-
Jochen Kalmbach schrieb:
Iiiii, wer will denn schon RTTI??? Sowas hab ich mir nie angetan... Und Exceptions ist nur was für Leute die nicht programmieren können

<°)))o>< :p
-
@Jochen Kalmbach:
Öhm naja. Der hat nen ganzen Editor komprimiert und das nachdem er ihn fertig geschrieben hat.
Editor = Texteditor mit den Notepad Funktionen.Dieses TinyPE oder was das war bringts nicht so wie ich das meinte.
Gibts noch mehr Möglichkeiten?
-
jo, klick meinen anderen link auch an.
-
Ein Texteditor ala Notepad zu machen ist fast so trivial wie "Hello world" das Sample ist auch im PSDK dabei...
-
Jochen Kalmbach schrieb:
Iiiii, wer will denn schon RTTI??? Sowas hab ich mir nie angetan... Und Exceptions ist nur was für Leute die nicht programmieren können

Oder Leute die die STL verwenden möchten

EDIT: ad RTTI: AFAIK braucht man auch für dynamic_cast die CRT, und dynamic_cast verwenden schon einige... /EDIT