EXE size and NexusDB lazarus / 10-Designer ---------------------------------------------------------------------- epergola · 2009-06-03 16:47 Hi I just installed the latest versions (free pascal + Lazarus). It looks GREAT!. I have 2 questions: 1. I had read in some blog/news that Nexusdb could be used with     Lazarus. How? NexusSB does not include the Lazarus IDE in its     list of installed IDE (so it does not install automatically). 2. I made a simple test proogram for winCE: 1 form with 1     TStringGrid  and a simple  Onmousedown event.     It workded fine on the WM 6.1 Emulator, but the     EXE file size is 11MB !! ? Is this normal? Incomparsin, a     similar EXE produced with Prism is 36,864 bytes. Sounds...     strange.     Am I seeing or doing something wrong? 3.This is not stricly freepascal territory, but relates to file size.    What is the maximum exe file size that could run on an average    winCE (5.0 or higher) PDA  say with 64 Mb Ram and memory?    Are the arm EXE executables produced by Lazarus really       capable of running on these devices? Thanks forany help, and congrrats for your product! ---------------------------------------------------------------------- mica · 2009-06-03 17:05 2 ----->http://wiki.lazarus.freepascal.org/Size_Matters ---------------------------------------------------------------------- icebit · 2009-06-03 17:25 2. Read this too: http://wiki.lazarus.freepascal.org/Lazarus_Faq#Why_a re_the_generated_binaries_so_big.3F You can configure Lazarus IDE to do it for you. Just go to menu Tools-> Configure external tools. Click ADD and inform the fields like this: Title: Strip (or whatever you want). Name...: D:\lazarus\fpc\2.2.4\bin\i386-win32\strip.exe (change drive to where you install lazarus) Params.: $TargetFile() --strip-all After you finish debugging your applications, just hit this option in menu Tools and final .Exe will be stripped. Enjoy... ---------------------------------------------------------------------- epergola · 2009-06-03 23:52 Thanks very much for the prompt response! I used smart linkable and all the other compiler/linker  option you suggested (level 3 optimization, smaller rather than faster, link smart) and the size from 11+ MB went down to 2+. Tried strip, but it does not work with arm (PDA's) executables. Tried upx and it reduced the exe size to 593 Kb. Still 12 times larger than the prism output, but at list looks reasonable. I guess there is a reason for that, i.e. that Lazarus cannot near the small size of prism?). What about Nexusdb? Does Anybody know if there is a way of using it with Lazarus? (even just the library, if not inthe IDE). ---------------------------------------------------------------------- Leledumbo · 2009-06-04 04:42 QuoteI guess there is a reason for that, i.e. that Lazarus cannot near the small size of prism?)There are some things that contribute to the size: - Multiple processors, OSes, and widgetsets support - Static linking (surely it makes distribution easier, avoiding DLL / SO hell) Actually, I don't know what prism is, but I think it's a platform specific tool. And as other platform specific tools do: It's tied to the processor / OS, perhaps even to the OS version. ---------------------------------------------------------------------- Vincent Snijders · 2009-06-04 09:15 Lazarus applications link to the OS dll's, I think Prism also links to the .NET FrameWork dlls. So code for handing forms is in the application for LCL applications and in an external dll from the .NET FrameWork for applications created with Prism.