/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Størrelse på kompileret program?
Fra : M_abs


Dato : 27-04-03 22:11

Jeg har under min "jagt" på at sætte mig ind til GUI med C++ og wxWindows
prøvet denne tutorial http://www.codelearn.com/cpp/icpp_wx1.html
Men når jeg har kompileret programmet har jeg en fil på lidt over 2 mb,
hvilket jeg synes er lidt overdrevet for et vindue uden noget indhold. Er
der ikke en bedre måde når man "#include" et lib?
Altså så man ikke tager al koden fra wxWindows med når man kompilere sit
program?

mvh Morten



 
 
Troels Thomsen (28-04-2003)
Kommentar
Fra : Troels Thomsen


Dato : 28-04-03 07:15

> Er
> der ikke en bedre måde når man "#include" et lib?
> Altså så man ikke tager al koden fra wxWindows med når man kompilere sit
> program?

Du har sikkert valgt debug build ? Prøv at finde en release setting.

Under MFC kan man vælge om man vil "use mfc in shared dll" eller "use mfc in
static dll". Førstnævnte giver filstørrelser ned til 20k, men er så afhængig
af at de rette mfc dll'er ligger alle de computere programmet skal benyttes
på.

Måske kan du finde noget lignende

tpt



M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 12:50

> Du har sikkert valgt debug build ? Prøv at finde en release setting.

Er der nogen der ved hvordan jeg gør det med Dev-CPP og wxWindows? er det i
MakeFile?



M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 13:33

> Er der nogen der ved hvordan jeg gør det med Dev-CPP og wxWindows? er det
i
> MakeFile?

Svare lige selv, det er slået fra som standard i projekt instillering under
compiler .... linker



Igor V. Rafienko (28-04-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 28-04-03 12:30

[ M. abs ]

> Jeg har under min "jagt" på at sætte mig ind til GUI med C++ og
> wxWindows prøvet denne tutorial
> http://www.codelearn.com/cpp/icpp_wx1.html Men når jeg har
> kompileret programmet har jeg en fil på lidt over 2 mb, hvilket jeg
> synes er lidt overdrevet for et vindue uden noget indhold.


Hvorfor synes du det?


> Er der ikke en bedre måde når man "#include" et lib? Altså så man
> ikke tager al koden fra wxWindows med når man kompilere sit program?


Hvorfor er du opptatt av størrelsen på et leketøyseksempel? Hvilken
rolle spiller det om "hello world"-programmet ditt tar 1K, 1M eller
10M?





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 12:41

> Hvorfor er du opptatt av størrelsen på et leketøyseksempel? Hvilken
> rolle spiller det om "hello world"-programmet ditt tar 1K, 1M eller
> 10M?

Fordi jeg synes at et så simplet program burde fylde en del mindre end 2 mb.
Nu kommer jeg fra Java, og er godt klar over der er en stor forskel mellem
de 2,
men der ville "samme" program nok ikke fylde mere end 10-20K.
Og så tænkte jamen hvad vil det så ikke fylde, hvis jeg laver et større
program med flere klasser, windows mm.



Igor V. Rafienko (28-04-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 28-04-03 13:01

[ M. abs ]

> > Hvorfor er du opptatt av størrelsen på et leketøyseksempel?
> > Hvilken rolle spiller det om "hello world"-programmet ditt tar 1K,
> > 1M eller 10M?
>
> Fordi jeg synes at et så simplet program burde fylde en del mindre
> end 2 mb.


Men størrelsen på den eksekverbare filen er da komplett irrelevant.
Jeg spør igjen -- _hvorfor_ synes du at et "hello world"-program burde
være en del mindre enn 2MB? (eller et vilkårlig annet tall, for den
saks skyld).

Hvis filstørrelsen er på liv og død viktig for deg, kan ikke du gjøre
slik:

$ /local/snacks/bin/g++ zot.cpp -o executable
$ cat > run.sh
#!/bin/sh

../executable
$ chmod u+x run.sh
$ ./run.sh
hello world
$ l ./run.sh
-rwx------ 1 igorr igorr 25 Apr 28 13:56 ./run.sh*
$

.... og da vil du få et program som opptar 25 bytes. Vil du være
fornøyd med det? (For at denne størrelsen er like representativ som
10-20K, 2M eller hva det ellers måtte være).


> Nu kommer jeg fra Java, og er godt klar over der er en stor forskel
> mellem de 2, men der ville "samme" program nok ikke fylde mere end
> 10-20K.


.... og i python vil et slikt "hello world"-vindu fylle ca. 200 bytes.
Hvor vil du hen?


> Og så tænkte jamen hvad vil det så ikke fylde, hvis jeg laver et
> større program med flere klasser, windows mm.


Prøv nettopp det. Lag et prosjekt som har litt funksjonalitet, og prøv
å finne ut hvor mye større det prosjektet blir i forhold til "hello
world".

Det vil også hjelpe å undersøke hvor stor plass programmet ditt opptar
i hukommelsen _under kjøring_ (hvilket er en langt mere relevant
metrikk enn filstørrelsen).

Tilbake til det opprinnelige spørsmålet. Du kan lese litt om dynamisk
linking og prosessoppstart (fx. i ISBN 1558604960), titte litt på
harddiskpriser og, kanskje, la være å bekymre deg om totalt
uinteressante ting?





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 13:31

> Men størrelsen på den eksekverbare filen er da komplett irrelevant.
> Jeg spør igjen -- _hvorfor_ synes du at et "hello world"-program burde
> være en del mindre enn 2MB? (eller et vilkårlig annet tall, for den
> saks skyld).

Og jeg svare igen fordi det er et meget simplet program. *s* dette er jo
dårlig nok en "hallo world"-program det er bare et lille vindue uden nogen
form for indhold.

Jeg synes det virker forkert, når jeg kommer fra et sprog hvor man ikke
tager al koden med fra det "lib" man includer (importere som det hedder i
Java). Og jeg bruger kun 2 klasser direkte fra "lib"'et wxWindows.

Hvis jeg nu vil sende mit program et en ven, "se hvad jeg har lavet" så tror
jeg de fleste jeg kender både computer-folk og andre mennesker, vil synes
det er lidt meget for så lidt.



Troels Thomsen (28-04-2003)
Kommentar
Fra : Troels Thomsen


Dato : 28-04-03 13:45

> Jeg synes det virker forkert, når jeg kommer fra et sprog hvor man ikke
> tager al koden med fra det "lib" man includer (importere som det hedder i
> Java). Og jeg bruger kun 2 klasser direkte fra "lib"'et wxWindows.
>
> Hvis jeg nu vil sende mit program et en ven, "se hvad jeg har lavet" så
tror
> jeg de fleste jeg kender både computer-folk og andre mennesker, vil synes
> det er lidt meget for så lidt.

Så må du forklare din ven at der er forskel på statisk linkede og dynamisk
linkede programmer.

Hvis man ikke kan lide lugten (linkningen) i bageriet (vxWindows), må man
(du) finde en anden bager (platform/api/compiler)





Igor V. Rafienko (28-04-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 28-04-03 14:18

[ M. abs ]

[ ... ]

> Og jeg svare igen fordi det er et meget simplet program. *s* dette
> er jo dårlig nok en "hallo world"-program det er bare et lille
> vindue uden nogen form for indhold.


La oss prøve en gang til -- jeg har nettopp vist hvordan du kan lage
et program på 25 bytes, som tegner ett "hello world" vindu. Vil du
være fornøyd med resultatet da?


> Jeg synes det virker forkert, når jeg kommer fra et sprog hvor man
> ikke tager al koden med fra det "lib" man includer (importere som
> det hedder i Java). Og jeg bruger kun 2 klasser direkte fra "lib"'et
> wxWindows.


Kan du være så snill å lese litt om dynamisk linking og
prosessoppstart? Evt. om virtuell minnehåndtering i OS (kanskje noen
av bøkene til Andrew S. Tanenbaum?)


> Hvis jeg nu vil sende mit program et en ven, "se hvad jeg har lavet"
> så tror jeg de fleste jeg kender både computer-folk og andre
> mennesker, vil synes det er lidt meget for så lidt.


Hvis det er et "hello world" program, så burde det være problemfritt å
sende kildekoden. Hvis det er et prosjekt med kommersielle mål, så er
ikke kostnaden av å sende 2MB, 10MB eller 50MB interessant. Og dersom
du vil sende en executable kun fordi mottageren ikke kan nok om IT for
å kompilere det selv, så burde ikke vedkommende kjøre _noen_
programmer han/hun får per e-post (svaret på "hvorfor" er overlatt til
leseren).

Så, _hvorfor_ er størrelsen på executable interessant igjen?





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 14:46

> La oss prøve en gang til -- jeg har nettopp vist hvordan du kan lage
> et program på 25 bytes, som tegner ett "hello world" vindu. Vil du
> være fornøyd med resultatet da?

Måske hvis dit eksempel vil virke under Windows så kunne en batch-fil
måske gøre det, men nu var det ikke lige det jeg var ude efter.

> Kan du være så snill å lese litt om dynamisk linking og
> prosessoppstart? Evt. om virtuell minnehåndtering i OS (kanskje noen
> av bøkene til Andrew S. Tanenbaum?)

Gerne vil jeg gøre Det var det jeg manglede.

Nu vil jeg læse lidt på "Dynamisk linking" så jeg kan forstå hvad der sker.



Igor V. Rafienko (28-04-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 28-04-03 14:58

[ M. abs ]

[ ... ]

> Måske hvis dit eksempel vil virke under Windows


Greit, erstatt /bin/sh med command.com og bruk et fornuftig språk som
kommandotolker. My point stands.


> så kunne en batch-fil måske gøre det, men nu var det ikke lige det
> jeg var ude efter.


Men sammenligningen din baserer seg nettopp på det. Det er
uinteressant å sammenligne bytekoden til et javaprogram med en statisk
linket C++ executable. En mer rettferdig (dog, like meningsløs)
sammenligning er å se på memory footprint til prosessene.

For å kunne kjøre wxWindows eksempelet ditt trenger man wxWindows
biblioteket. Om det inkluderes statisk i den eksekverbare filen eller
dynamisk har igrunn lite å si, selv om du skulle sende dette
eksempelet til noen andre via nettet.





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

Mogens Hansen (28-04-2003)
Kommentar
Fra : Mogens Hansen


Dato : 28-04-03 19:54


"M_abs" <M_abs@oncable.dk> wrote

[8<8<8<]
> Og jeg svare igen fordi det er et meget simplet program. *s* dette er jo
> dårlig nok en "hallo world"-program det er bare et lille vindue uden nogen
> form for indhold.

Du kan sagtens lave et lille program til MS-Windows med et simpelt lille
vindue, der totalt set fylder ca. 20-40 kbyte, og som bruger forsvindende
lidt hukommelse.
Du skal bare skrive direkte til Win32 API'et.

Kig f.eks. hos SysInternals (www.sysinternals.com) og se virkeligt nyttige
programmer, med en lille effektiv GUI som samlet set kun fylder nogle få 100
kbyte.

Hvorfor traf du det designvalg at bruge wxWindows ?
Det har formodentligt nogen egenskaber som du ønsker, f.eks.:
* Objekt orienteret programmerings paradigme.
Hvorfor valgte du det frem for andre biblioteker som f.eks. Microsoft MFC,
Borland VCL eller Trolltech Qt ?
Det kunne f.eks. være:
* Open-source
* Cross-platform

F.eks. vil et lille program med MFC statisk linket fylde ca. 250 kbyte,
hvilket dog stadig er ca en størrelsesorden større end et lille program
skrevet direkt til Win32 API'et.

Man kunne forestille sig at wxWindows også indeholder nogle kompromisser og
ikke er optimeret på alle leder.
Det ideele løsning, hvor der kun erordele og ingen ulemper, findes ikke.

>
> Jeg synes det virker forkert, når jeg kommer fra et sprog hvor man ikke
> tager al koden med fra det "lib" man includer (importere som det hedder i
> Java). Og jeg bruger kun 2 klasser direkte fra "lib"'et wxWindows.

Hvis du undersøger det lidt grundigere, vil jeg gætte på at man ikke tager
al koden fra biblioteket med, blot fordi man bruger 2 klasser.
Det er oplagt at man får de 2 klasser med.
Dertil kommer constructorene til de 2 klassers basisklasser (der er sikkert
nogen).
Hvis biblioteket er traditionelt vil alle de klasser vi nu har have en række
virtuelle metoder. De bliver også linket med.
Constructorne og de virtuelle metoder bruger sikkert nogle klasser som
bliver linket med osv.
På den måde kan det komme til at fylde en del.

Bemærk dog at hvis man linker dynamisk vil man skulle distribuere _alle_
klasserne der ligger i DLL'et, uanset om de bliver brugt eller ej.
Samlet set vil det et statisk linket program aldrig kunne komme til at fylde
mere på disken end det tilsvarende dynamisk linkede. Man kan naturligvis
spare diskplads, hvis flere programmer deler samme DLL.
Hvis du sparer 2 MByte sparer du altså din bruger for noget i retningen af:
800 kr / 40 GB * 2 MB = 4 ører.

Dertil kommer naturligvis overvejelserne om hvor meget hukommelse programmet
bruger afhængigt af om det er statisk eller dynamisk linket, og de øvrige
overvejelser omkring statisk/dynamisk linkning. Don't even get me started.
Det har tidligere været debateret her i gruppen - brug eventuelt google.

Bemærk at hvis man designer sit GUI klasse bibliotek hensigtsmæssigt, kan
det lade sig gøre få et forsvinde lille performance overhead (målt som
exe-fil størrelse, memory-forbrug under kørsel og antal messages der kan
behandles pr. tidsenhed).
Jeg har skrevet et sådant lille bibliotek som proof-of-concept, hvor
overheadet er nogle få procent, målt i forhold til et tilsvarende program
skrevet direkte mod Win32 API'et.

>
> Hvis jeg nu vil sende mit program et en ven, "se hvad jeg har lavet" så
tror
> jeg de fleste jeg kender både computer-folk og andre mennesker, vil synes
> det er lidt meget for så lidt.

Husk også at sende din ven et link til hvor han kan downloade de nødvendige
DLL'er, og husk at angive hvilken bibliotek version og hvilken compiler
version du har brugt til at oversætte med.

Venlig hilsen

Mogens Hansen




M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 21:04

> Hvorfor traf du det designvalg at bruge wxWindows ?
> Det har formodentligt nogen egenskaber som du ønsker, f.eks.:
> * Objekt orienteret programmerings paradigme.
> Hvorfor valgte du det frem for andre biblioteker som f.eks. Microsoft MFC,
> Borland VCL eller Trolltech Qt ?
> Det kunne f.eks. være:
> * Open-source
> * Cross-platform

Du giver selv grunder lige der
plus det skulle være nemt at bruge

> Hvis du undersøger det lidt grundigere, vil jeg gætte på at man ikke tager
> al koden fra biblioteket med, blot fordi man bruger 2 klasser.
> Det er oplagt at man får de 2 klasser med.
> Dertil kommer constructorene til de 2 klassers basisklasser (der er
sikkert
> nogen).
> Hvis biblioteket er traditionelt vil alle de klasser vi nu har have en
række
> virtuelle metoder. De bliver også linket med.
> Constructorne og de virtuelle metoder bruger sikkert nogle klasser som
> bliver linket med osv.
> På den måde kan det komme til at fylde en del.

Ah, på den måde.

> Dertil kommer naturligvis overvejelserne om hvor meget hukommelse
programmet
> bruger afhængigt af om det er statisk eller dynamisk linket, og de øvrige
> overvejelser omkring statisk/dynamisk linkning. Don't even get me started.
> Det har tidligere været debateret her i gruppen - brug eventuelt google.
>
> Bemærk at hvis man designer sit GUI klasse bibliotek hensigtsmæssigt, kan
> det lade sig gøre få et forsvinde lille performance overhead (målt som
> exe-fil størrelse, memory-forbrug under kørsel og antal messages der kan
> behandles pr. tidsenhed).
> Jeg har skrevet et sådant lille bibliotek som proof-of-concept, hvor
> overheadet er nogle få procent, målt i forhold til et tilsvarende program
> skrevet direkte mod Win32 API'et.

Det skriver de på wxWindows's hjemmeside at det næsten ikke skulle kunne
måles. Om det så passer ved jeg selvfølgelig ikke, bare det kører hurtigere
end Swing fra Java (lige for at bringe Java på banen igen)

> Husk også at sende din ven et link til hvor han kan downloade de
nødvendige
> DLL'er, og husk at angive hvilken bibliotek version og hvilken compiler
> version du har brugt til at oversætte med.

Se så begynder det at lyde kompliceret, og hvis han så i forvejen har et
andet program med en ældre version der osse er compilet med en anden
compiler, er virker han muligvis ikke længere
Tror bare jeg bliver ved med det statisk linkede. Og som Igor og andre har
påpeget, kommer det nok ikke til at betyde noget i et større program.

Jeg blev bare lidt chokeret da jeg så størrelse, jeg tænkte ikke over /
vidste ikke alt det underliggerne med linking, statisk og dynamisk. Og hvad
den tog med og ikke tog med. Men I skal alle have mange tak for det, jeg
føler jeg har fået en masse ud af det.

mvh Morten



Mogens Hansen (28-04-2003)
Kommentar
Fra : Mogens Hansen


Dato : 28-04-03 21:33


"M_abs" <M_abs@oncable.dk> wrote

[8<8<8<]
> Det skriver de på wxWindows's hjemmeside at det næsten ikke skulle kunne
> måles. Om det så passer ved jeg selvfølgelig ikke, bare det kører
hurtigere
> end Swing fra Java (lige for at bringe Java på banen igen)

Det er nemt at skrive hvad som helst.
Jeg ville kræve eller foretage målinger - hvis valget skulle træffes på
baggrund af performance.
Jeg har endnu ikke set andre GUI klasse biblioteker end mit eget, der ikke
mindst halverer performance af message loopen - men der er heller ikke plads
til ret mange assembler instruktioner før det kan måles. Om det spiller en
praktisk rolle er en anden sag.

Venlig hilsen

Mogens Hansen



Igor V. Rafienko (28-04-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 28-04-03 21:45

[ M. abs ]

[ ... ]

> Jeg blev bare lidt chokeret da jeg så størrelse, jeg tænkte ikke
> over / vidste ikke alt det underliggerne med linking, statisk og
> dynamisk.


[ cheezy Norwegian accent ]

Let mi illustreit, yes?

[ /off ]

$ cat zot.cpp
#include <iostream>

int
main()
{ std::cout << "hello world\n";
}
$ /local/snacks/bin/g++ -static -o hello-stat zot.cpp
$ /local/snacks/bin/g++ -o hello-shared zot.cpp
$ cp hello-shared hello-stripped
$ strip hello-stripped
$ l hello-*
-rwx------ 1 igorr igorr 14791 Apr 28 22:42 hello-shared*
-rwx------ 1 igorr igorr 3570968 Apr 28 22:42 hello-stat*
-rwx------ 1 igorr igorr 3948 Apr 28 22:42 hello-stripped*
$

(Debugging informasjonen har lite å si i dette tilfellet)





ivr, som har ambisjoner å bli like omstendig som Mogens en vakker dag.
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

Jakop Nielsen (28-04-2003)
Kommentar
Fra : Jakop Nielsen


Dato : 28-04-03 13:01

> Og så tænkte jamen hvad vil det så ikke fylde, hvis jeg laver et større
> program med flere klasser, windows mm.

Ikke nødvendigvis meget mere. At det fylder 2meg med eet vindue betyder ikke
at det fylder 4 meg med to vinduer. Hvad det nu end er der er linket med, så
bliver det ikke linket flere gange fordi du bruger det lib flere gange.

Prøv evt at lav et program med mange vinduer og andet fyld. Se hvad det
fylder.

....men 2 megabytes er godt nok meget. Prøv i første omgang at slå debug info
fra og se hvad det gør ved det.



M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 13:27

> Ikke nødvendigvis meget mere. At det fylder 2meg med eet vindue betyder
ikke
> at det fylder 4 meg med to vinduer. Hvad det nu end er der er linket med,

> bliver det ikke linket flere gange fordi du bruger det lib flere gange.

Er jeg godt klar, nu tænkte jeg hvis jeg brugte flere libs.

> ...men 2 megabytes er godt nok meget. Prøv i første omgang at slå debug
info
> fra og se hvad det gør ved det.

Var fra som standard.



Kent Friis (28-04-2003)
Kommentar
Fra : Kent Friis


Dato : 28-04-03 16:08

Den Mon, 28 Apr 2003 13:41:08 +0200 skrev M_abs:
>> Hvorfor er du opptatt av størrelsen på et leketøyseksempel? Hvilken
>> rolle spiller det om "hello world"-programmet ditt tar 1K, 1M eller
>> 10M?
>
>Fordi jeg synes at et så simplet program burde fylde en del mindre end 2 mb.
>Nu kommer jeg fra Java, og er godt klar over der er en stor forskel mellem
>de 2,
>men der ville "samme" program nok ikke fylde mere end 10-20K.

Det er fordi at Java ikke lægger det hele i samme fil, det meste ligger
i runtime environment, som skal installeres separat. Uden den, kan
programmet ikke køre.

wxWindows er sikkert beregnet på at man installerer programmet, og så
virker det, og derfor er runtime'n inkluderet i exe-filen.

Et hello-world java-program fylder 52 MB på min maskine incl. runtime.

>Og så tænkte jamen hvad vil det så ikke fylde, hvis jeg laver et større
>program med flere klasser, windows mm.

Koden for "lav et vindue" skal kun med en gang, uanset hvor mange gange
vinduer du laver.

Mvh
Kent
--
Desuden kan jeg ikke se nogen grund til at springe over hvor gærdet er
lavest, når man kan vente på at det alligevel bliver revet ned fordi
der skal bygges en omfartsvej...
- Claus Frørup og Asbjørn Christensen i dk.snak.

M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 16:38

> Et hello-world java-program fylder 52 MB på min maskine incl. runtime.

Så har du også Java SDK, du kunne nøjes med noget mindre end det, ved kun at
have Sun's JRE installeret.
Tror det er ca. 9 mb, ved godt det er mener end de 2 mb mit "hallo
World"-program, men det er så også kun dene ene gang det skal hentes



Kent Friis (28-04-2003)
Kommentar
Fra : Kent Friis


Dato : 28-04-03 18:56

Den Mon, 28 Apr 2003 17:38:07 +0200 skrev M_abs:
>> Et hello-world java-program fylder 52 MB på min maskine incl. runtime.
>
>Så har du også Java SDK, du kunne nøjes med noget mindre end det, ved kun at
>have Sun's JRE installeret.

kfr:kfr$ du -sm /usr/local/lib/j2re1.4.0/
52 /usr/local/lib/j2re1.4.0

Mvh
Kent
--
Mails skrevet før 12:00 skal læses med det forbehold, at hjernen først
forventes at være færdig med at boote på det tidspunkt, og indholdet
derfor kan indeholde random data der tilfældigvis lå i den
uinitializerede cache.

M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 21:07

> >Så har du også Java SDK, du kunne nøjes med noget mindre end det, ved kun
at
> >have Sun's JRE installeret.
>
> kfr:kfr$ du -sm /usr/local/lib/j2re1.4.0/
> 52 /usr/local/lib/j2re1.4.0

Okay, se det vidste jeg heller ikke, at det fyldte så meget under linux og
windows.
Jeg tænkte i download



Jens C. Hansen [Oden~ (29-04-2003)
Kommentar
Fra : Jens C. Hansen [Oden~


Dato : 29-04-03 00:21

M_abs wrote:
>
> Okay, se det vidste jeg heller ikke, at det fyldte så meget under linux og
> windows.
> Jeg tænkte i download

Den færdige executable kan vel "komprimeres"?

http://sources.redhat.com/bzip2/


Socketd (28-04-2003)
Kommentar
Fra : Socketd


Dato : 28-04-03 13:46

On Mon, 28 Apr 2003 14:31:17 +0200
"M_abs" <M_abs@oncable.dk> wrote:


> Jeg synes det virker forkert, når jeg kommer fra et sprog hvor man
> ikke
> tager al koden med fra det "lib" man includer (importere som det
> hedder i Java). Og jeg bruger kun 2 klasser direkte fra "lib"'et
> wxWindows.

C++ inkludere ikke al koden, der er også linking.

> Hvis jeg nu vil sende mit program et en ven, "se hvad jeg har lavet"
> så tror jeg de fleste jeg kender både computer-folk og andre
> mennesker, vil synes det er lidt meget for så lidt.

Som Jakop også var inde på, så vil et program med 2 vinduer ikke fylde 4
mb. Altså er de 2 mb det grundlæggende til at bygge en GUI, så hvis du
lavere et større program, vil du nok finde ud af at størrelsen er ok.
Desuden synes jeg ikke du kan sammenligne java med C++. I java ligger
alt jo næsten i lib's som ikke inkluderes, så hvis du vil sende et java
program til en ven, vil han nok synes at programmet (20-30K) + en java
fortolker (xx mb) vil være lidt meget for så lidt.

br
socketd

Socketd (28-04-2003)
Kommentar
Fra : Socketd


Dato : 28-04-03 14:54

On Mon, 28 Apr 2003 15:11:25 +0200
"M_abs" <M_abs@oncable.dk> wrote:

> >> C++ inkludere ikke al koden, der er også linking.
>
> Okay, så er jeg ikke helt med, vil det så sige at jeg stadigvæk skal
> bruge en DLL eller noget andet for at kunne kører programmet på en
> anden maskine?

Aner det ikke. Du kan godt kompile et program til at inkludere al koden,
så den ikke skal bruge lib's. Alternativet som de fleste bruger er at
bruge lib's, så programmerne ikke fylder så meget + nogle flere fordele.
Men 2 mb er nu ikke meget og slet ikke set i forhold til java. Men prøv
send det til en ven som kan teste det, jeg kunne forstille mig at
wxwindows måske bare omsætte koden til GTK til unix og et standard
Windows API til windows, men ved det ikke.

br
socketd

M_abs (28-04-2003)
Kommentar
Fra : M_abs


Dato : 28-04-03 16:36

I skal alle have tak for svarene, jeg har vist lige en del og få læst på.
Static linking, dynamisk linking mm.



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

Månedens bedste
Årets bedste
Sidste års bedste