From: Mike McCarty (jmccarty_at_ssd.usa.alcatel.com)
Date: 2001-08-16 00:04:32
On Wed, 15 Aug 2001, groepaz wrote: > Hello Mike, > > Wednesday, August 15, 2001, 8:16:27 PM, you wrote: > > MM> On Wed, 15 Aug 2001, groepaz wrote: > MM> One point to make here, I think, is that the decisions can be made > MM> *once* and once *only*. One simply installs the pointers into a table. > MM> Then the tests don't have to be made over and over. > > yes, i am thinking about converting those case-constructs to > jump-via-function-pointers aswell... BUT what i am asking is, would > the linker be able to fill out that jumptable at link-time? or would > an init-function that checks the modules included and sets up the > jumptable accordingly ALWAYS be needed anyway (thats what i'd like to > get off without). As I see it, either all the code is present in the emitted program, or not all is present. If all is present, then the startup code or graphics init code or some other code can check the execution environment, and install the proper jumps into the table. If not all the code is present, then either some code must be able to locate that code and read it from some persistent memory (say a disc) or there are some environments in which the program cannot run. If the linker makes the decision about what to put in the program, and the execution environment and/or startup code do not support reading from persistent memory, then the latter condition holds. One possibility is the use of load time linking, sometimes called shared libraries or sharable code segments. I belive that Windows calls them DLLs (Dynamic Load Libraries?). One could get the loader to find the required code and load it out of persistent memory, after which the loader could exit memory. Mike -- char *p="char *p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);} This message made from 100% recycled bits. I can explain it for you, but I can't understand it for you. I don't speak for Alcatel <- They make me say that. ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:41 CET