Xref: utzoo comp.software-eng:2660 comp.misc:7640 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!mcsun!sunic!enea!sommar From: sommar@enea.se (Erland Sommarskog) Newsgroups: comp.software-eng,comp.misc Subject: Re: Linkers Message-ID: <547@enea.se> Date: 10 Dec 89 12:09:29 GMT References: <530@enea.se) <7226@ficc.uu.net) Organization: Enea Data AB, Sweden Lines: 29 Peter da Silva (peter@ficc.uu.net) writes, quoting me: )Smart linkers aren't that much of a win in practice, but they are pretty )safe for high-level languages. For example, the following situation is )not a problem: )) Routine PIC x(32). )) ... )) CALL Routine USING.... )) Routine is not a literal, it is a string variable. All top entries )) corresponds to menu choices. When the user enters a menu choice, )) it is looked up in a database, which gives you the name of the )) procedure to call. ) )In which case the routine would be referenced in the *database*, and so )would be linked in. Eh? You link relational databases with your executeable? With arbitrary relations and columns? The linker has not only to be smart, but to be clairvoyant to see which column in which relation is the function name. To make it even worse, one code may map to different routines at different sites, since two customers want different behaviour. To make it simple, you link both routines with your executeable, and the contents in the menu databases at the customer site decide which variant they will run. -- Erland Sommarskog - ENEA Data, Stockholm - sommar@enea.se Mail me your votes on comp.lang.cobol.