[Lazarus] "Running" a library
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Fri Sep 14 23:47:30 CEST 2012
Juha Manninen wrote:
> On Fri, Sep 14, 2012 at 10:34 PM, Mark Morgan Lloyd
> <markMLl.lazarus at telemetry.co.uk> wrote:
>> No, I was wondering about the extent to which a library could be defined
>> such that it was also runnable as a program.
>
> A library cannot be run alone.
> However there 2 kinds of libraries: a dynamic library (.dll, .so) and
> a static library.
> You can test your library code by creating a program that links the
> code statically, or uses its code units directly.
I'm aware of the technology, I've been using it intermittently for 20
years or so.
/Why/ can't a library be run standalone? We're already at the position
that an executable can decide whether it's been invoked from a shell or
the GUI and behave as appropriate, so why can't it decide whether it's
being run as a program or being initialised as a library?
> Once it works well then you can make a dynamic library, but it still
> needs some extra testing.
> For example dynamic strings cannot be used across the calls,
Works here, subject to explicit use of cmem.
> GUI component usage is limited etc.
Works here as far as I've tested (i.e. merging menus from a shared
library into the main program, using dialog(ue)s defined in the shared
library and so on).
> For this testing you must create the "Host application" which links
> dynamically to the library.
Again, /why/?
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list