/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Kompilering [VB6]
Fra : Jens Vestergaard


Dato : 07-02-02 23:21

Hejsa,
Mere af nysgerrighed, end for noget andet....:

Hvordan kan en kompileret app's EXE pludselig blive op mod 1 MB *mindre*,
ved at man sletter nogle ganske få funktioner, som på ingen måde i koden
fylder så meget?

Er det noget med, at kompileringen arbejder i 'klumper', ligesom en
variabel, der fylder lige mange bytes, uanset hvad der er 'i' den? Og at man
altså kan være mere eller mindre heldig med, hvor mange 'klumper' man får
fyldt op? (Sikke noget sludder, hva? Men I ved, hvad jeg mener!)

Som det fremgår, har jeg ikke en kæft forstand på, hvad der egentlig sker
under oversættelsen, men nysgerrigheden er ikke sådan at styre...

--
mvh
Jens Vestergaard
www.railsoft.dk



 
 
Carsten Suurland (08-02-2002)
Kommentar
Fra : Carsten Suurland


Dato : 08-02-02 14:32

Hej Jens

1 MB lyder godt nok af meget, men du er på rette spor.
Jeg har selv været ude for, at min exe varierer i størrelse (dog kun med +/-
2%) alt afhængig af hvilke variabeltyper jeg anvender.

Under alle omstændigheder: Når exefilen startes op, og du f.eks gør brug af
en funktion i et modul, så loades hele modulet ind i hukommelsen (også
selvom du ikke gør brug af nogle af de andre funktioner i det pågældende
modul) så jo: VB's compiler arbejder sikkert med "klumper".

/Carsten Suurland



Rayman (10-02-2002)
Kommentar
Fra : Rayman


Dato : 10-02-02 00:41

Så vidt jeg ved, så scanner VB din kode førsts, og fjerner referencer til
alle moduler som ikke bruges, og hvis du fjerner de rigtige instruktioner
(eller variabeltyper) kan du godt mindske din fil meget. Der ligger
forresten en kort beskrivelse af de metoder man kan benytte for at mindske
sin kodestørrelse, i MSDN, hvis du er interesseret...

mvh Rayman

"Carsten Suurland" <carsten@FJERN_DETTEsuurland.dk> wrote in message
news:PrQ88.2357$B43.227622@news000.worldonline.dk...
> Hej Jens
>
> 1 MB lyder godt nok af meget, men du er på rette spor.
> Jeg har selv været ude for, at min exe varierer i størrelse (dog kun med
+/-
> 2%) alt afhængig af hvilke variabeltyper jeg anvender.
>
> Under alle omstændigheder: Når exefilen startes op, og du f.eks gør brug
af
> en funktion i et modul, så loades hele modulet ind i hukommelsen (også
> selvom du ikke gør brug af nogle af de andre funktioner i det pågældende
> modul) så jo: VB's compiler arbejder sikkert med "klumper".
>
> /Carsten Suurland
>
>



Tomas Christiansen (10-02-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 10-02-02 22:08

Jens Vestergaard skrev:
> Hvordan kan en kompileret app's EXE pludselig blive op mod 1 MB
*mindre*,
> ved at man sletter nogle ganske få funktioner, som på ingen måde i
koden
> fylder så meget?

Lad os nu høre:

Hvor stort var exe'en før, hvad har du fjernet og hvor stor var den
bagefter?
Hvilken version af VB bruger du (inkl. service pack niveau) og hvordan
oversætte du koden til en exe(kverbar) fil?

Har du f.eks. mange/store billeder på dine(e) form(s), og har du
slettet et eller flere af dem?

Ud fra de få oplysninger, som du har skrevet, kan det jo lige så godt
være solpletters indvirken på din computer som så meget...

-------
Tomas


Jens Vestergaard (11-02-2002)
Kommentar
Fra : Jens Vestergaard


Dato : 11-02-02 14:35

"Tomas Christiansen" <toc@blikroer.removethis.dk> skrev i en meddelelse
news:a46ngb$1ofg$1@news.cybercity.dk...
> Jens Vestergaard skrev:
> > Hvordan kan en kompileret app's EXE pludselig blive op mod 1 MB
> *mindre*,

> Lad os nu høre:

> Ud fra de få oplysninger, som du har skrevet, kan det jo lige så godt
> være solpletters indvirken på din computer som så meget...

Ja, for f..., hvorfor havde jeg ikke tænkt på det? Det er jo *der*
forklaringen ligger...
Nej, det er lidt mere pudsigt end som så, synes jeg.

> Hvor stort var exe'en før, hvad har du fjernet og hvor stor var den
> bagefter?

3,1 Mb --> 2,1 Mb

Det var et tilfælde, at jeg lagde mærke til det, så *præcis* hvornår det er
sket, ved jeg ikke, men jeg er ret sikker på, at der ikke er forsvundet
nogen forms i mellemtiden og at alt, hvad der er slettet, er nogle i
forvejen ud-kommenterede functions.

Det forekom mig så mærkeligt, at jeg gen-kompilerede og troede, at jeg havde
fået smidt en masse væk, men alt fungerer.

> Hvilken version af VB bruger du (inkl. service pack niveau) og hvordan
> oversætte du koden til en exe(kverbar) fil?

VB6 enterpr. Sp 5 - Native code, Optimize for fast code, ingen hak i på
Advanced-siden

....solpletter...? Ja, hvorfor ikke....

--
mvh
Jens Vestergaard
www.railsoft.dk




Jan V. (11-02-2002)
Kommentar
Fra : Jan V.


Dato : 11-02-02 16:14


"Jens Vestergaard" <j@railsoft.dk> skrev i en meddelelse
news:3c67c80d$0$62866$edfadb0f@dspool01.news.tele.dk...
> "Tomas Christiansen" <toc@blikroer.removethis.dk> skrev i en meddelelse
> news:a46ngb$1ofg$1@news.cybercity.dk...
> > Jens Vestergaard skrev:
> > > Hvordan kan en kompileret app's EXE pludselig blive op mod 1 MB
> > *mindre*,
>
> > Lad os nu høre:
>
> > Ud fra de få oplysninger, som du har skrevet, kan det jo lige så godt
> > være solpletters indvirken på din computer som så meget...
>
> Ja, for f..., hvorfor havde jeg ikke tænkt på det? Det er jo *der*
> forklaringen ligger...
> Nej, det er lidt mere pudsigt end som så, synes jeg.
>
> > Hvor stort var exe'en før, hvad har du fjernet og hvor stor var den
> > bagefter?
>
> 3,1 Mb --> 2,1 Mb
>
> Det var et tilfælde, at jeg lagde mærke til det, så *præcis* hvornår det
er
> sket, ved jeg ikke, men jeg er ret sikker på, at der ikke er forsvundet
> nogen forms i mellemtiden og at alt, hvad der er slettet, er nogle i
> forvejen ud-kommenterede functions.
>
> Det forekom mig så mærkeligt, at jeg gen-kompilerede og troede, at jeg
havde
> fået smidt en masse væk, men alt fungerer.
>
> > Hvilken version af VB bruger du (inkl. service pack niveau) og hvordan
> > oversætte du koden til en exe(kverbar) fil?
>
> VB6 enterpr. Sp 5 - Native code, Optimize for fast code, ingen hak i på
> Advanced-siden
>
> ...solpletter...? Ja, hvorfor ikke....
>
> --
> mvh
> Jens Vestergaard
> www.railsoft.dk
>
>
Tja, jeg opdagede lige, at det program jeg kompilerede i fredags var vosket
fra ca 2.5 mb til 26.5 mb. Efter en genkompilering kom den ned igen på 2.5
mb - mange solpletter i fredags ???

Jan



Tomas Christiansen (11-02-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 11-02-02 21:39

Jan V. skrev:
> Tja, jeg opdagede lige, at det program jeg kompilerede i fredags var
vosket
> fra ca 2.5 mb til 26.5 mb. Efter en genkompilering kom den ned igen
på 2.5
> mb - mange solpletter i fredags ???

DET var ellers noget!

Nu vil jeg ikke sige (eller skrive) at jeg har forstand på det, men
bit-fejl SKER jo i computere, og solpletters indvirken på bittene har
formodentlig ikke en POSITIV effekt. Jeg vil tro at man kan sige, at
risikoen for at bit-fejl sker mens solen sender en byge af stråler og
partikler mod jorden, er forøget.

Bortset fra det, så havde jeg mange dårlige erfaringer med VB 5.0 med
SP1 (og måske SP2) og Windows 95. Hvis man trykkede File, Make nogle
gange inde fra IDE'en, kunne den dannede eksekverbare file vokse og
vokse. Stoppede man i stedet IDE'en og brugte højremus, Make i Windows
Explorer, skete dette aldrig. Noget kunne tyde på at VB ikke helt fik
ryddet op i sine gemmer, og mente at det "nok hellere" måtte linkes
sammen med exe-filen? MS må have mange bizarre programører - eller
også blot for mange af dem ("for mange kokke...").

-------
Tomas


Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408885
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste