At least with
QuickBasic you had the choice of incorporating BRUN45.EXE
and BRUN45.LIB into the .exe file. I remember that with Borland
compilers you had to include lots of files such as
CGA.BGI, HERC.BGI, EGAVGA.BGI together with any application that
you wrote.
When I was running both TurboBasic and PowerBasic, neither
one required you to issue 'includes' to access standard video modes.
In over 12 years of running PowerBasic I've never had to link to an
external file. PowerBasic also compiles into fairly small
executable's, which are the only thing required unless there are
datafiles that the programmer required to be present. I never liked
the way QuickBasic required the distribution of it's external library
with the executable, especially since you never quite knew which
version of it a given program would require as things changed.
As Carlos stated above for QuickBASIC, and as I pointed out for
the professional BASIC compiler, it is NOT necessary to distribute
the external library with the executable.
You could create stand-alone executables that required no external
support. However, they were not small. Beginning with QuickBASIC 4.0,
the ENTIRE C LIBRARY was part of the runtime. And even if you never
used graphics statements, all the graphics code got pulled into the
executable (in the case of the stand-alone binaries) or was at least
present in toto in the separate runtime.
This had not been the case with QuickBASIC 3.0 (where I began with QB).
I imagine Turbo^H^H^H^H^HPowerBASIC uses the more sensible approach
of linking into the executables ONLY the stuff needed.
Microsoft could have done this, but they clearly did *NOT* want to
devote the resources needed to make it a truly professional product.
-dq