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

Für allgemeine Fragen zur Programmierung mit PureBasic.
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

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

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag 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.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

Beitrag 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!
mfg
Dr. Pixel
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag 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:
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten