From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2002-04-24 13:50:10
On Wed, Apr 24, 2002 at 01:38:39PM +0200, Adam Dunkels wrote: > I can only agree with groepaz - cool! This would make it easier to support > dynamic applications in uIP as well! Yes. But as I said before, writing modules in C has some overhead. The reason for this is that the loader does not use the symbols from the o65 file for runtime linking, because of the overhead. By using import/export name tables, it would be possible to link a C module so that it uses the runtime routines from the main module. But this would require a large name table in the application, because the application must know at runtime, which functions from the runtime library are available and at which address. Both operating systems using the o65 format (OS/A65 and Lunix) don't do that for the same reason (too much overhead). Instead of using dynamic linking by name, modules are supposed to have a jump table at the start address of the code segment - I think we can live with that, especially for drivers, which will have a fixed set of API functions anyway. So a loaded module written in C must contain all the runtime stuff by itself, even if the same routines are also linked to the main program. This will lead to some overhead (how much this is exactly depends on the module in question). Regards Uz -- Ullrich von Bassewitz uz_at_musoftware.de ---------------------------------------------------------------------- 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 : 2002-04-24 13:50:18 CEST