|
|
nemesis wrote:
> really?! What was it? An settable option for the compiler?
Not really. You created basically a tree of code, where the only
permissible movements into a branch were from the node directly above.
(E.g., you couldn't have A as the parent of B and C, and have B call C, or C
return to B after it had been overwritten.)
Then the linker would link multiple routines to live in the same address
space, such that B and C might share addresses. Then it would patch the
calls from A to B or A to C to first make sure that the appropriate branch
of the tree was in memory (loading it if not) before branching to the actual
routine.
So, by the time of MS-DOS, it was not dissimilar to building a makefile that
you gave to the linker, and it would do the patching up. You just had to
have enough knowledge of your system that you knew what pieces could be
overlaid. (Which was *way* easier with procedural code rather than OO or
something.)
--
Darren New, San Diego CA, USA (PST)
Serving Suggestion:
"Don't serve this any more. It's awful."
Post a reply to this message
|
|