PlanetSquires Forums

Support Forums => Other Software and Code => Topic started by: Richard Kelly on April 09, 2011, 07:47:57 PM

Title: FF and PB10
Post by: Richard Kelly on April 09, 2011, 07:47:57 PM
Delivery of the core FF routines as a SLL?

SLL projects? I could really modularize my FF apps. The final version would just be series of SLL includes.

Rick Kelly
Title: Re: FF and PB10
Post by: Jean-pierre Leroy on April 10, 2011, 03:44:38 AM
Hi Richard,

With the "Functions Library" in FireFly we have already for years a kind of "SSL functionality" available in FF.

From the FireFly help file:

QuoteFunctions added to the Functions Library are automatically included into the final code generated for your project. All you need to do is make a reference to the function in your code somewhere and FireFly will automagically know that the function from the Function Library should be included in the code generation. No other intervention is needed on your behalf.
I don't know what SSL will bring to FireFly Users

Jean-Pierre
Title: Re: FF and PB10
Post by: Richard Kelly on April 10, 2011, 07:49:11 AM
The core FF routines could be in a SLL. I can envision how that would make patches easier to manage and EXE's a bit smaller as well. Maybe a FF SLL project could be for some common routines. Just brainstorming a bit out loud.
Title: Re: FF and PB10
Post by: Rolf Brandt on April 11, 2011, 04:05:53 AM
I was pondering on the same lines.

With the way Paul incorporated the Functions library we have already a sort of dead code removal, because  only the function you use is included into your exe. Using SLL technique for the functions library would mean you have to compile a SLL for each function. If you put all functions into one SLL then the whole SLL will be included even if you use just one function. This would cause BloatWare. It is similar as if all functions would be in just one INCLUDE file - untile PB9.

That is of course if I understood the SLL concept right.

From the PB10 Helpfile:
When you link an SLL into a host module, it is examined carefully by the compiler.  If it is determined that no code in the SLL is needed, the SLL is simply not linked.  This can reduce the size of your final program substantially.  However, if even one procedure in an SLL is used, the entire SLL is included. Therefore, it may be in your best interest to split up your code into multiple SLL modules.  The PowerBASIC Compiler will pick and choose exactly which ones are needed and ignore the rest.  This assures the smallest possible size of the resulting application.

I think Paul's approach of the functions library was very farsighted. With Dead Code Removal in PB10 now it would be or course possible to put the FF_Funtions into one INCLUDE file, but not into one SSL.

Added:
I just noticed that I had not read far enough!

From the PB10 helpfile_
For your convenience, multiple SLL modules may be collected into a Power Library, which is linked as a single item.  However, the PowerBASIC Compiler treats the component modules individually, just as though they were each linked separately.  A component SLL in a Power Library which is not needed is ignored entirely.
Title: Re: FF and PB10
Post by: Rolf Brandt on April 11, 2011, 04:18:41 AM
QuoteI don't know what SSL will bring to FireFly Users

I could see the client side of SQLitening in a SLL. It is though no big problem to use Fred's source code files and with a few minor modifications you can include them into the exe.

This is of course not FF3 specific! So Jean-Pierre probably has a point there.

In my opinion the SLL concept  is ideal for third party tools. It reminds me of Delphi's VCL components.