Toon posts:

[C++ Builder 6] Te grote exe/dll

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik prog nu al een tijdje in C++ Builder 3 en heb sinds gisteren versie 6. Dus ik vrolijk de boel installeren en het programma waarmee ik bezig was compileren in zowel C++ Builder 3 en in C++ Builder 6.
Wat blijkt nou, versie 6 maakt een meer dan 2x zo groot bestand (van 417Kb naar 882Kb) :o

Aangezien ik dit soort praktijken absoluut niet wens bij een compiler, vroeg ik me af wat hier aan te doen is. Dus als iemand nuttige/handige tips heeft, graag!

Verwijderd

je kan builden met packages, maar dan moet je de packages meeleveren met je product(packages zijn > 5mb), verder is er weinig aan te doen zonder al te veel werk.

Verwijderd

Topicstarter
Op dinsdag 23 april 2002 12:28 schreef deur het volgende:
je kan builden met packages, maar dan moet je de packages meeleveren met je product(packages zijn > 5mb), verder is er weinig aan te doen zonder al te veel werk.
Het moet op elke computer werken, dus alles wordt in principe geinclude in de executable. Vandaar ook de toch al grote paar honderd Kb. Het eigenlijke programma stelt weinig voor qua sourcecode.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:25

Creepy

Tactical Espionage Splatterer

Op dinsdag 23 april 2002 12:47 schreef Zotty het volgende:

[..]

Het moet op elke computer werken, dus alles wordt in principe geinclude in de executable. Vandaar ook de toch al grote paar honderd Kb. Het eigenlijke programma stelt weinig voor qua sourcecode.
Zoals altijd: probeer zoveel mogelijk uses eruit te smijten.

Gebruik je showmessage? Zo ja, ombouwen naar application.messagebox() en dialogs uit je uses halen. Scheelt ook weer wat.
Kijk ook eens of je sysutils gebruikt, en zo ja, welke functies hiervan. Als je ze op 1 of andere manier kan herschrijven, en sysutils uit je uses list haalt scheelt dit je meer dan 100K!

De runtime van D6 is een stuk groter dan zijn voorgangers (zoals bij elke nieuwe Delphi versie helaas). Dus dat het verdubbelt is zeer goed mogelijk. Als je een formpje met wat zooi hebt zit je al snel aan de 300-400K.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • nhimf
  • Registratie: September 2000
  • Laatst online: 31-08 19:16

nhimf

Lekker belangrijk allemaal

Je kan natuurlijk ook de debug zooi eruit gooien (scheelt vaak een hoop)

En verder is er echt weinig aan te doen, want een nieuwere versie brengt een hoop nieuwe "zooi" met zich mee. Dit blijf je eigenlijk altijd houden met nieuwere versies

Ik stink niet, ik ruik gewoon anders


Verwijderd

Topicstarter
Simpel gezegd komt het dus neer op een hoop 'tweaken' van de instellingen en gebruikte componenten, maar vanwege de uitgebreide zooi, ben en blijf je gewoon de l*l, of je nou wil of niet :? :P

'k ga vanavond nog ff verder met proberen (met jullie tips in m'n achterhoofd), en als de uiteindelijke grootte niet drastisch terug te dringen is, ga ik gewoon weer verder in versie 3 en verdwijnt versie 6 in de kast.

Enne, msgboxes gaat al dmv 'Application->MessageBox(...)'. Debug zooi weglaten, scheelt niet zoveel in dit geval.

Gelukkig heeft het me niks gekost (en toch legaal ;))

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 06-09 22:39
Zit je misschien iets static te linken met je app?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Op dinsdag 23 april 2002 19:15 schreef farlane het volgende:
Zit je misschien iets static te linken met je app?
Yep, het VCL gebeuren. En dat is ook gelijk de oorzaak van het probleem. Wat ik ook doe, echt kleiner wil niet zolang VCL meegelinkt wordt. En die moet meeglinkt worden, daar het anders niet werkt op ander computers.

'k ga dus gewoon verder in versie 3 en laat versie 6 links liggen, want het maakt simpel te lompe compiles :(

Verwijderd

Op woensdag 24 april 2002 13:51 schreef Zotty het volgende:
'k ga dus gewoon verder in versie 3 en laat versie 6 links liggen, want het maakt simpel te lompe compiles :(
Gewoon een dom vraagje: waarom is je app te groot? Werk je met een machine met 640 kb ram, of gaat het om het "gevoel"? ;)

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Windows lijkt problemen te hebben met modules groter dan 256 mb. Daar waarschuwt VC althans voor.

Verwijderd

Topicstarter
Op woensdag 24 april 2002 14:27 schreef mietje het volgende:
Gewoon een dom vraagje: waarom is je app te groot? Werk je met een machine met 640 kb ram, of gaat het om het "gevoel"? ;)
Ik maak graag efficiente programma's, dus met zo min mogelijk zooi die je toch niet gebruikt :)
Daarnaast gaat het in dit specifieke geval om een progje wat eigenlijk niks anders doet dan wat info naar LPT sturen en om daar 800K aan code voor te moeten gebruiken, gaat mijn verstand te boven.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Kun je dan geen Command Line Interface gebruiken en de hele VCL erbuiten laten?

Verwijderd

En je kan natuurlijk ook even je uiteindelijke EXE comprimeren met UPX, scheelt ook een hele hoop.

Mijn laatste project bevatte een ingebouwde skin, en was 211 kb. ( wel gemaakt onder VC ), na UPX was dit nog maar 65 kb!

http://upx.sourceforge.net/

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:25

Creepy

Tactical Espionage Splatterer

Op woensdag 24 april 2002 16:43 schreef Zotty het volgende:

[..]
Daarnaast gaat het in dit specifieke geval om een progje wat eigenlijk niks anders doet dan wat info naar LPT sturen en om daar 800K aan code voor te moeten gebruiken, gaat mijn verstand te boven.
Hmm.. das inderdaad wel veel. LCDInf schopt info naar de LPT poort toe, en leest wat info uit m.b.v. api call's e.d. en is onder de 600K (en ook al veel te groot.. maar goed :) )
(Ook geschreven in Delphi 6)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1