PDA

View Full Version : How to reduce FreePascal and Lazarus Exe Size...



LP
09-02-2006, 06:39 PM
This could end up with us having a more competitive era for Pascal tool developers. Less Delphi-centric aims by other Pascal developers and more Chrome and Free Pascal support going around.
Few days ago I checked the latest version of Free Pascal, but it's still not as half as good as Delphi. In fact, I disliked Delphi for creating large EXEs (~400 Kb; KOL can be a nice alternative though), but when I saw FreePascal's empty application take several megabytes :shock: - it was out of question for me. Lazarus as an IDE is not that fancy either - Delphi 7 is much better (and Delphi 2006 IDE can't even be compared to Lazarus).

Actually, if Delphi product line won't get continued, I am still planning to move to C# + Visual Studio. Delphi 2006 is nice IDE, but if it won't be updated - it has no future (in fact, I think there are still bugs that haven't been fixed yet: "fatal exception" on exit anyone :)).

I guess it'll be one more year for me with Delphi 2006 (maybe less), but then it's "hated friend" C# may take its place. :?

dmantione
09-02-2006, 10:43 PM
Few days ago I checked the latest version of Free Pascal, but it's still not as half as good as Delphi. In fact, I disliked Delphi for creating large EXEs (~400 Kb; KOL can be a nice alternative though), but when I saw FreePascal's empty application take several megabytes :shock: - it was out of question for me. Lazarus as an IDE is not that fancy either - Delphi 7 is much better (and Delphi 2006 IDE can't even be compared to Lazarus).


Stop spreading nonsense! Hello world in Free Pascal is 20 kb. The entire game "the Sheep Killer" is 215kb. Lentil Wars is 420kb. Ok, Pixel is 4,4 mb, but then you have an application that beats Gimp. No, you propably are using an executable without smartlinking enabled, and perhaps even with debug info inside. Yes, Lazarus is big but not that big. Oh, and KOL works with Free Pascal as well...

LP
09-02-2006, 11:14 PM
[quote="dmantione"]
Stop spreading nonsense! Hello world in Free Pascal is 20 kb. The entire game "the Sheep Killer" is 215kb. Lentil Wars is 420kb. Ok, Pixel is 4,4 mb, but then you have an application that beats Gimp. No, you propably are using an executable without smart]
I also tried a simple "Hello World" application. It consisted of a window, one button and one edit box, all made in latest version of Lazarus + FPC. Enabled smartlinking, removed debug info and played with a bunch of other options. Couldn't make EXE get smaller than 2.2 Mb. *That* is what I was referring to, sorry if I didn't mention Lazarus. By the way, a console "Hello World" made in Delphi 2006 has the size of 18 Kb. ;)

WILL
10-02-2006, 02:42 AM
[quote="Lifepower"]I also tried a simple "Hello World" application. It consisted of a window, one button and one edit box, all made in latest version of Lazarus + FPC. Enabled smart]

This is akin to the similar problem of taking a written program in your prefered language and then writing a 'port' in another language, seeing that it does not perform to expectations and concludes that the new language is no good. What is not considered usually is that you need to know more about the language to make a truely accurate statement about it.

It is usually best to educate yourself before stating a public conclusion. Or else you'll find yourself having to go back to correct yourself overand over and over... ;)

FPC is great. With Lazarus or not. Lazarus is great too. No, it's not Delphi, but with the current state of the Delphi Studio(refering to 2005/2006) that may or may not be a good thing. If you are going to learn, do it from the experts or knowlagable users. In fact if you want to do some interesting compairisons, it in some ways gives the GNU compiler, GCC a run for it's money.


But getting back on track, Delphi is not the only professional Pascal solution right now, it's just the more popular one. I think that the seperation of Delphi and Borland might end up being a good thing. It was afterall some of the more prominent corporate figure heads from Borland the company that have caused some turmoil for the one highly successful IDE suite.

LP
10-02-2006, 04:02 AM
@ WILL, dmantione:

There is no "public conclusion", no "public propaganda" and no "spreading nonsense" but my individual opinion. If you don't like my opinion, you are welcome to say your opinion, but please, do so politely (it is a good practice to respect the opinion of others). If you feel some information is wrong, please post links/references to make the required correction.

dmantione
10-02-2006, 06:16 AM
I'm not the disputing your opinion, but the "facts" you mention. Due to inexperience you create large executables and are blaming the software for your inexperience. It also has nothing to do with unpoliteness, if it was, my apologies. It is just that if someone is spreading false information that it shall be corrected.

LP
10-02-2006, 06:53 AM
I'm not the disputing your opinion, but the "facts" you mention. Due to inexperience you create large executables and are blaming the software for your inexperience. It also has nothing to do with unpoliteness, if it was, my apologies. It is just that if someone is spreading false information that it shall be corrected.
I have only given an opinion (wtf u see facts in it??), while you ARE giving facts without the proof. Is it so difficult to give a link to a *small* (< 1 Mb, not using EXE packer) interface-driven application made in Lazarus + FPC, which doesn't use pure WinAPI calls? Is BS the only thing you can post?

Traveler
10-02-2006, 08:35 AM
Lifepower please, dmantione has kept it clean, so can you.

dmantione
10-02-2006, 10:39 AM
Well, I already gave examples, but I take the challenge, here you are. I compiled a MSEGUI example, 574kb, compiled for Linux, i386, 32-bit.

http://berlin.freepascal.org/~daniel/demo

savage
10-02-2006, 11:22 AM
Well, I already gave examples, but I take the challenge, here you are. I compiled a MSEGUI example, 574kb, compiled for Linux, i386, 32-bit.

http://berlin.freepascal.org/~daniel/demo

dmantione, can you please point out exacty how you achieved this small exe size using Lazarus and the LCL, because right now, I am none the wiser about how to achieve this. Some detailed steps would be most usefull/educational and should probably go into a sticky topic on the FreePascal forum so that anyone new to FPC who happens to be looking for that information does not have to hunt round for it.

Also point out if these setting will also work on Win32 or other OSes.

dmantione
10-02-2006, 01:13 PM
Note that MSEGUI removes the dependency on the LCL (and therefore also GTK). The example was compiled with out of the box Free Pascal 2.0.2, compiler options used where "-O2gr -CX -XX". -O2 activates the peephole optimizer which reduces executable size; -Og tells the compiler to optimize for size, -Or uses register variables which makes code again much smaller. Then "-CX -XX" is of course most important to enable smartlinking. The exe was stripped afterwards to remove debug info.

savage
10-02-2006, 01:58 PM
Note that MSEGUI removes the dependency on the LCL (and therefore also GTK).

I'm confused :? So is this essentially just a WinAPI application then?

dmantione
10-02-2006, 02:58 PM
WinAPI on Linux?? That would be hard :) MSEGUI is a GUI-toolkit written in Pascal.

LP
10-02-2006, 03:12 PM
Lifepower please, dmantione has kept it clean, so can you.
Yes, sir. ;)


I compiled a MSEGUI example, 574kb, compiled for Linux, i386, 32-bit.
Please, you are well aware that we are not talking about Linux here. Also, why not giving the source code as well?

savage
10-02-2006, 03:24 PM
WinAPI on Linux?? That would be hard :) MSEGUI is a GUI-toolkit written in Pascal.

WINE ;).

Ok so do you have steps to produce a LCL application that is fairly light-weight?

We really should move this discussion to the FreePascal forum.

Ok I've created a new thread over @ http://www.pascalgamedevelopment.com/viewtopic.php?p=19398
to continue this discussion, please post answers there and mention MSEGUI as well, so that it's all in the same thread as a possible alternative to LCL.

dmantione
10-02-2006, 03:27 PM
At your service:

http://berlin.freepascal.org/~daniel/demo.tar.gz

The Win32/Linux discussion is irrelevant here. I'll leave the exercise to recompile it for Windows to you; I don't have my hands at a Win32 FPC installation currently.

LP
10-02-2006, 04:09 PM
Ok I've created a new thread over @ http://www.pascalgamedevelopment.com/viewtopic.php?p=19398
to continue this discussion, please post answers there and mention MSEGUI as well, so that it's all in the same thread as a possible alternative to LCL.
Can you split this thread and move half of it to the new thread?



The Win32/Linux discussion is irrelevant here. I'll leave the exercise to recompile it for Windows to you; I don't have my hands at a Win32 FPC installation currently.
Well, you are so touched by what I said about large executables in FPC + Lazarus. The issue is specific to Windows platform, so why stop now, when you still haven't proved your point?

dmantione, did you ever see the following threads: thread #1 (http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&p=8134), thread #2 (http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&t=264), thread #3 (http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&t=261) and thread #4 (http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&t=66) (all on Lazarus/FPC forums). You can throw the crap all the day, but based on information from these threads, the issue hasn't been resolved yet without using UPX and/or KOL.

savage
10-02-2006, 04:58 PM
One last thing, could we return to being civil to each other.
As my parents used to say, it's not important who started what, just be nice about it, please.

Thanks for your understanding.

Robert Kosek
10-02-2006, 05:06 PM
Console "Hello World" in D6 is 10KB. VCL "Hello World" in D6 is 394KB (TEdit, TButton).

Anytime I try something with FreePascal I get a minimum of 400kb size, even for "hello world". I'm no wizard with programming or tweaking the IDE, but why do I even need to? In Delphi it's easier than reading the documentation, I've done it several times, but with FPC or Lazarus I can't make heads or tails of it. With Lazarus my filesizes rocket to an absolute minimum of 3MB.

So what am I going to use? What I know and competes just as well, or something I'll have to learn (akin to adapting to linux) and totally change my style?

I'm in the same boat as Lifepower. Stop acting so great because you can make a small executable and show us how. But can we get back to acting like professionals, rather than a bunch of newbie BASIC kids?

dmantione
10-02-2006, 06:41 PM
People, please, I have answered to everything you have asked, and didn't use magic tricks or something like that and people are shoothing from the roofs I am talking bullshit.

Howto for small Hello World:

* Install Free Pascal 2.0.2
* Start up the IDE.
* program hello;
begin
writeln('Hello world');
end.
* Select options->mode->release.
* Compiler.
* I have a file that is 133 kb.
* Go to Dos prompt.
* 'strip hello.exe'
* A have a file that is 28 kb.

How to for Lazarus will follow later. Don't know yet if it will be Linux or Windows, but with the hand on my heart: there is no difference.

The only lesson from these stories is that perhaps default settings should change. Disable debugging info so people can no longer debug and enable smartlinking so you need to wait longer for your compiler.... But I'm sure we'll get complaints that the debugger doesn't work then.

Robert Kosek
10-02-2006, 06:51 PM
The only lesson from these stories is that perhaps default settings should change. Disable debugging info so people can no longer debug and enable smartlinking so you need to wait longer for your compiler.... But I'm sure we'll get complaints that the debugger doesn't work then.I would use this for releases, not development copies. I don't care how big something is when I'm debugging it.

Exactly what are you using to "strip" the exe? I know for Windows you can remove the "reloc" section, but that only gives a 5% drop in size. Or thereabouts.

And I wasn't saying that you were talking BS, I was just asking for it to be posted. Not source or the like, since I uninstalled FPC, but the process.

LP
10-02-2006, 07:14 PM
Howto for small Hello World:

* Install Free Pascal 2.0.2
* Start up the IDE.
* program hello;
begin
writeln('Hello world');
end.
* Select options->mode->release.
* Compiler.
* I have a file that is 133 kb.
* Go to Dos prompt.
* 'strip hello.exe'
* A have a file that is 28 kb.
How to for Lazarus will follow later. Don't know yet if it will be Linux or Windows, but with the hand on my heart: there is no difference.
And you posted this because [...] ?

When you are developing an LCL application in Lazarus/FPC, the generated EXE (Win32) size is surprisingly big, especially if the application itself is rather simple (button + edit box). Of course, you enable smartlinking, strip all debug information and after all the effort, you get an application that is around 1 Megabyte big. Now am I making sense here?

Basically, with a lot of effort, you get an oversized application when compared to its Delphi counterpart. If you find a way to create smaller LCL applications - please post it. Just don't go again for Linux-based apps as you continuously do, since Delphi and any other Win32 executable won't run there, unless you use WINE, as Savage said. ;)

dmantione
16-02-2006, 03:54 PM
And you posted this because [...] ?


Someone asked for it.... Free Pascal developers are helpfull.



When you are developing an LCL application in Lazarus/FPC, the generated EXE (Win32) size is surprisingly big, especially if the application itself is rather simple (button + edit box). Of course, you enable smart]

You were claiming that FPC generates multi-megabyte executables. I said that is due to inexperience of you. I was right, because we're now talking about 1 megabyte.

When you want to compare executable sizes you must configure the compiler into a configuration suitable for release exes. Otherwise no comparison is possible. That is true for any compiler. You should know that, if you don't that is lack of knowledge on your side.

You cannot claim FPC is usuable because it generates multi-megabyte executables. You can claim Delphi has an advantage here because a 400k executable is smaller than the 1014k executable from Lazarus, that is telling the truth. You can go smaller by changing the optimalisation options and recompile the FCL/LCL, propably to around 900k, but that is irrelevant for the matter.

[quote="Lifepower"]
Basically, with a lot of effort, you get an oversized application when compared to its Delphi counterpart. If you find a way to create smaller LCL applications - please post it. Just don't go again for Linux-based apps as you continuously do, since Delphi and any other Win32 executable won't run there, unless you use WINE, as Savage said. ;)

That is stupborn. If I say the in size between Linux and Windows is nihil, then it is so. Compile the MSGUI app I gave you, the exe is as big as on Windows. Indeed, Delphi applications don't run under Linux, but you are reversing it: That is a problem for Delphi, not for FPC.

Lastly, the LCL is has little to do with games. This site is about games. It would be more appropriate to compare the sizes of JEDI-SDL applications.

LP
16-02-2006, 10:22 PM
When you want to compare executable sizes you must configure the compiler into a configuration suitable for release exes. Otherwise no comparison is possible. That is true for any compiler. You should know that, if you don't that is lack of knowledge on your side.

Actually, making such great claim about all compilers only shows YOUR inexperience and lack of maturity in the matter.


That is stupborn. If I say the in size between Linux and Windows is nihil, then it is so.
My grandmother says that she is ill because someone has put an evil eye on her. When I asked why, she said: "Don't ask stupid questions. If I say I'm ill because someone has put an evil eye on me, then it is so!" Dude, we have a problem! :lol:


Indeed, Delphi applications don't run under Linux, but you are reversing it: That is a problem for Delphi, not for FPC.
"My piece of pie is not bad! Your piece of pie is better, but it's your problem!" -> from a humour show. I guess there is nothing to discuss here.


Lastly, the LCL is has little to do with games. This site is about games. It would be more appropriate to compare the sizes of JEDI-SDL applications.
First, if LCL has little to do with games, then please tell me, how in earth are you going to make a map/scenario editor without making user-interface? Second, the fact that this site is about developing games has nothing to do with LCL, so *this* looks more like a "nonsense" to me. ;)

lepidosteus
17-02-2006, 01:16 AM
Last time I tried Lazarus on a linux comp, i got a 11 Megabyte hello world form (on fedora core 4, latest version of fpc and lazarus, 2 month ago).

Maybe there is some cool options to decrease it, but they weren't obvious for me at this time.

@ Lifepower : the reason you get such big exe (in delphi and lazarus) is, for what I understand, the VCl (and it's lazarus version). It's like a "delphi framework" your exe get with them. It's the same for every language with such runtimes, Visual basic has it's runtimes, .net has it's framework.
The point is that delphi's application always include them into the exe, but yo ucan, into the option, select to use the package out of the exe, and then you have a small exe but you must provide the corresponding .bpl (delphi give you the list).
It's just like having to give VB runtimes with your application, or the .net framework.
It's even better if you plan to update it, as you won't have to update a big exe but rather a small one (as i don't think you will be updating borland's vcl package :P).

What we may see has a disadvantage right now is in fact an advantage for delphi, as your program are released to work without any other installation (wich VB didn't support with his first version [i think the latest support it], and wich .net support only with some obfuscators like xenocode wich adds the framework to your exe, and belive me then the delphi exe looks like smalls ones).

Hope i made it clearer.

savage
17-02-2006, 06:22 AM
How to for Lazarus will follow later.

I'm still kean to see the Lazarus version.

cragwolf
17-02-2006, 07:12 AM
Lifepower,

I think the trouble started in your first post in this thread when you wrote:


Few days ago I checked the latest version of Free Pascal, but it's still not as half as good as Delphi. In fact, I disliked Delphi for creating large EXEs (~400 Kb; KOL can be a nice alternative though), but when I saw FreePascal's empty application take several megabytes :shock:

The thing is that an empty FreePascal application is not "several megabytes" but only about 20KB, as dmantione said. What you meant to say, which you subsequently made clear, was that an empty-window Lazarus application took up several MB. In light of this, perhaps you will understand the vigorousness of dmantione's initial response. He wanted to disabuse uninformed folk of the notion that empty FreePascal applications take up several megabytes. I'll just add that I have no desire to defend any subsequent posts by dmantione or anyone else.

As to the question of the size of empty-window Lazarus applications, I haven't been able to get it under 2MB (in Linux), but then I haven't really looked very closely at the matter. One thing I think I'm right about: the relatively large size of Lazarus executables is entirely due to Lazarus, and has nothing to do with FreePascal.

dmantione
17-02-2006, 09:58 AM
I'm still kean to see the Lazarus version.

* Make a project.
* Go to compiler options
* Enable the two smartlinking options (there are 2 of them, one to generate smartlinkable code, one to actually smartlink it).
* Compile
* Strip the exe

If you want to recompile the LCL for size the easiest way is to remove the lcl/units directory. Then add the source code directories and the include directory of the lcl to the compiler search paths. Modify the compiler options (register variables, optimize for size and perhaps others) I got 965 kb. It should be possible to do the same with the FCL.

dmantione
17-02-2006, 10:19 AM
@ Lifepower : the reason you get such big exe (in delphi and lazarus) is, for what I understand, the VCl (and it's lazarus version). It's like a "delphi framework" your exe get with them. It's the same for every language with such runtimes, Visual basic has it's runtimes, .net has it's framework.

Yes. The problem with object oriented frameworks is that the virtual method tables of objects always depend on all virtual methods, i.e. if you use an object, all of its virtual methods are included in the exe; with normal dependency analysis (which is what both Delphi and FPC do) the linker has no way to remove them. This is the reason why most OOP frameworks are reasonably large, i.e. Borland's VCL, Trolltech's QT, Microsoft's Foundation Classes are all huge. Some frameworks hide their code in DLL's, but the code is there.

Expect some compiler tricks in the future. But do not expect that the compiler can vapourize the exes: the right way is to shrink the libraries.

Almindor
17-02-2006, 09:58 PM
There's a sticky post I pasted on the FreePascal forum before the Lazarus forum was even opened, and it nicely tells you all you need to do to get minimal executable filesizes.

I could tell you people to RTFM instead I'm going to flame you to hell so get ready.

1. You didn't RTFM
2. If you like delphi more, use delphi
3. If you want integrated debugger support, use delphi
4. If you want to help, write patches

Unlike with Delphi or Kylix you can actualy try to help and provide enhancments and bugfixes for the compiler itself as well as various libraries. Whining about big filesizes or whatever other useless and completly irrelevant little itch you got right now is only going to keep people who actualy DO something from doing it.

michalis
18-02-2006, 12:28 AM
As strange as it may sound, I just wanted to *agree* with last flame of Almindor. Know that the issue "FPC/Lazarus create too big executables" was discussed thousand times on fpc and lazarus mailing lists, and

1. There are solutions -- as dmantione, Almindor (and google) pointed out.

2. At some point it's just considered "whining" when someone says that FPC/Lazarus are worse than Delphi just because they create too large executables. Let's face it: 2 MB filesize is not terribly bad. It's only bad when you have to transfer it over the network, but for this even simple non-FPC specific solutions (I mean compressing, with e.g. upx) are quite good.

I agree that it is an important knowledge to know how to make small exe size (so I'm not flaming everyone interested in this topic...). But it's not a *crucial thing*. When someone chooses one programming language over the other, or one proprietary-closed-source-Windows-only IDE over open-source portable IDE, and as a main reason gives that "the resulting exe size was too big" --- well, that's just not a good reason.

That's the main reason why I didn't wanted to get involved in this thread --- I just saw similar discussions between Delphi people and FPC people about "too big exe size" happen a lot. Well, I got involved now, basically just to back up Almindor post.

That's it. In summary, I just tried to explain why many FPC/Lazarus people find it very irritating when Delphi people ask over and over about "why executables are so large".

(Oh, and Lazarus has integrated debugger of course; under Windows this debugger is admittedly not so absolutely rock-solid stable as Delphi (under Linux things are better), but things are progressing nicely and it's definitely usable).

Robert Kosek
18-02-2006, 01:45 AM
Now children, be nice.

I personally asked because I couldn't find the answers on the Lazarus site or the FPC site. In fact, a search didn't find anything of use to me. FPC/Lazarus appears to have the exact same style as Linux, the: "If you don't wanna delve into the guts, don't use it" style.

Stow the attitude, one and all.

LP
18-02-2006, 04:48 AM
There's a sticky post I pasted on the FreePascal forum before the Lazarus forum was even opened, and it nicely tells you all you need to do to get minimal executable filesizes.
You could have posted a ]I could tell you people to RTFM instead I'm going to flame you to hell so get ready.[/quote]
I could tell you to STFU, but it's rude. :)


1. You didn't RTFM
Post the ]2. If you like delphi more, use delphi
3. If you want integrated debugger support, use delphi
4. If you want to help, write patches[/quote]
Now you are the first who actually lets me do what I like instead of arguing about my preferences. :lol:


Unlike with Delphi or Kylix you can actualy try to help and provide enhancments and bugfixes for the compiler itself as well as various libraries.
Also, I can use another free and better compiler instead (not even necesarily for Pascal), which is an option you didn't mention. However, this is not a point of our discussion.



Know that the issue "FPC/Lazarus create too big executables" was discussed thousand times on fpc and lazarus mailing lists.
Sorry, I'm not in the mailing list. :( Can you share some info on what was the resolution?


Whining about big filesizes or whatever other useless and completly irrelevant little itch you got right now is only going to keep people who actualy DO something from doing it.+
I agree that it is an important knowledge to know how to make small exe size (so I'm not flaming everyone interested in this topic...). But it's not a *crucial thing*.

When you participate in 64k or even 4k contest, the size is *extremely crucial* and *very significative*. If you consider a "generated application size" discussion a "whining", then we should talk again in few years, after you are an adult.



When someone chooses one programming language over the other, or one proprietary-closed-source-Windows-only IDE over open-source portable IDE, and as a main reason gives that "the resulting exe size was too big" --- well, that's just not a good reason.
Ok, then what is a good reason for you? (Are you aware that reasons are specific to particular people/companies?)



Let's face it: 2 MB filesize is not terribly bad.
IMHO, 2 MB for a simple application is *extremely bad*. No matter if its on Linux, Windows, Mac OS X or any other platform. Again, that depends on particular needs of each person/company.


In summary, I just tried to explain why many FPC/Lazarus people find it very irritating when Delphi people ask over and over about "why executables are so large".
Maybe we should put a warning notice to this thread: "Warning! If you are sensitive to stress or mentally unstable, don't read the thread".

If you get irritated by a simple discussion which occured several times in the past, then what will happen if you will have to give a technical support and explain thousand times how to "alpha-blend" image on the screen? (happened to me and I never considered it "whining" or lost my nerve when answering these questions).

If you have a certain sensibility to these questions, then avoid these evil threads at all cost! :)

dmantione
18-02-2006, 09:18 AM
When you participate in 64k or even 4k contest, the size is *extremely crucial* and *very significative*. If you consider a "generated application size" discussion a "whining", then we should talk again in few years, after you are an adult.

Should I really reply to this?

In that case you will like that the empty application is only 20k. Competitors can in such cases also put some braces around the threading manager initialization and command line parser in the rtl (which, combined with the memory manager, is the bulk of that 20k), giving you plenty of room to code your 64k demo.

Almindor
18-02-2006, 10:05 AM
Not sure why I waste my time replying to people like you ( I guess I love flames ) in any case, you're way off. If you want to use gcc, go ahead but try static linking with it a hello world.

For demo scene, you can make your own special supersmall RTL and I'm sure you could go to about 5kb binaries.

Your "funny remarks" like "shoveling the crap" etc. only point out you like to criticize without any constructivism. LCL is big, OOP and CROSS-PLATFORM. Filesize is the price you pay for comfort.

The filesize problem is known and is being worked on, but it will take more than an army of whiners to write a custom linker which will work on all platforms supported by fpc. Note that filesizes with LCL are about same on most platforms it can be used, so it's not a win32 problem at all.

If you write a linker for us then you can have added weight to any of your statements.

lepidosteus
18-02-2006, 12:20 PM
May you guys stop flamming ?
That's really stupid.

As I told on the second page, the size problem comes from the vcl, and is a common problem for all framework oriented program, whatever it is, delphi, .net, ...

So as someone just told, if you want to make a small apllication just make your own vcl, with only what you needs in it.
This is how you would do if you did it in C/C++ for exemple, you would do everything from scratch. Or you would use a library wich size you must add to the total. The language itself isn't responsible for that.

Now, considering such a discution as useless is stupid too, hey, as a software programmer, you should worry about the size. It's like if i said 'bah, i can use 40 MB of memory for my hello world, computers now have a lot of memory'. It's the same thing. When computers get upgraded, it's not for us to waste their new space.
And if you want to upadate a software, yo uwould surely likes your files to be as small as possible, as bandwicth usage and download time are non negligeable (and in such a case, you would be stupid not to build your soft with runtimes out of it).

And telling "if you want it to do small exe, just work for it and give us your code" is a really bad philosophy. People should be allowed and encouraged to work on it, not forced to if they want it to suit their needs.[/b]