Seite 1 von 3

Warum ist der code für Hallo_Welt.pb so gross?

Verfasst: 20.01.2006 13:50
von Dr.Pixel
Hallo.
Warum ist die erzeugte exe mit dem Code bestehend aus dem Code

Code: Alles auswählen

MessageRequester("Test", "Hallo Welt")
3,5 KByte gross?
Kann man irgentwelche libs (ich weiss nicht was ) die nicht benötigt werden aus dem Code entfernen?
Versteht mich nicht falsch. Pb erzeugt ja schon optimierten Code.
Ist nur so eine Frage, da ich bei oben genanntem Code sicherlich keine
libs oder includes brauche!?

mfg
Dr. Pixel

Verfasst: 20.01.2006 14:05
von ts-soft

Code: Alles auswählen

MessageBox_(0,"Hallo Welt","Test",0)
2,5 KB :mrgreen:

/Nachtrag
Mit WinUpack gepackt nur noch 1,5 KB

Verfasst: 20.01.2006 14:20
von Konne
Also erstmal wäre da der Header für das Betriebssystem, dass macht schon mal ne Mnge aus. UNd wenn du es mal mit nem Programm das in C++ oder so geschrieben wurde vergleichst dann wirst du festellen das PB sehr klein ist.

Verfasst: 20.01.2006 15:06
von Laurin

Verfasst: 20.01.2006 15:10
von bobobo
Außerdem ist 3,5 oder 2,5 Kb überhaupt ganz und gar nicht groß.
Guck Dir mal die Größe des erforderlichen Windows (ohne dass
das PB-Programm ganz sicher auch nicht läuft) an.

Verfasst: 20.01.2006 15:43
von Dr.Pixel
Das hatte ich ja schon geschrieben, dass PB schon recht schlanken code
generiert!
Aber bei dieser einzigen Zeile 3,5 KB könnte man sicherlich einige includes oder bibliotheken etc. unterbinden, oder?
Versteht mich nicht falsch, ist ja nur so eine Frage!

Verfasst: 20.01.2006 15:49
von ts-soft
Dr.Pixel hat geschrieben: Aber bei dieser einzigen Zeile 3,5 KB könnte man sicherlich einige includes oder bibliotheken etc. unterbinden, oder?
Es wird doch nur das eingebunden, was Du verwendest. Die meisten Libs (oder Alle) sind bereits gesplittet. Der PE-Header gibt natürlich eine mindestgroesse vor. Wenn Du API verwendest, wird die Wrapper-Funktion (MessageRequester) auch nicht mehr eingebunden, die in diesem Fall 1 KByte verbraucht.
Selbst in optimiertem Assembler wird es kaum kleiner, wobei das Heutzutage meist sowieso unwichtig ist.

Verfasst: 20.01.2006 16:49
von Mok
@Dr.Pixel
Ich versteh dich... hab' mich auch gewundert, warum die EXE aus

Code: Alles auswählen

Messagerequester("Test", "Hallo Welt", 0)
so groß ist. Aber im Gegensatz zu anderen Programmen, wie

Code: Alles auswählen

InitSprite()
OpenScreen(640, 480, 24, "Test")
LoadSprite(0, "E:\Daeien\Bilder\Logo.bmp")
DisplaySprite(0, 200, 300)
FlipBuffers()
Delay(6000)
(80 KB)
Ist es auch nicht gerade groß :allright:

Verfasst: 20.01.2006 18:09
von Kiffi
Ihr habt Probleme! :|

Kleiner Tipp von mir:

Code: Alles auswählen

MsgBox "Hallo Welt!"
als [c]HalloWelt.vbs[/c] abspeichern. Ist nur 20 Bytes gross.

Grüße ... Kiffi

Verfasst: 20.01.2006 18:20
von ts-soft
Kiffi hat geschrieben:Ihr habt Probleme! :|

Kleiner Tipp von mir:

Code: Alles auswählen

MsgBox "Hallo Welt!"
als [c]HalloWelt.vbs[/c] abspeichern. Ist nur 20 Bytes gross.

Grüße ... Kiffi
Erfordert aber den WSH, der mehrere MB gross ist :mrgreen: