making a dll, pt2

new topic     » topic index » view thread      » older message » newer message


If a GotEverything.dll was made with all the std lib in it, and when it loaded it made a table of where all it's procs and funcs were located, it would be a big dll. But, if, then, another dll was made that was not bound to anything during translation (euc -dll -nobind filename), that dll would be very small.

Even if the app you write is bound to the Eu internals and externals it uses, so you can trace, profile, etc, it may not have all the code a dll needs, and this is why a Eu dll is made bound to the code it uses (except for callbacks).

So what if you had a GotEverything.dll, then you can load very tiny dlls with no bindings, and they'd get the table the GotEverything.dll made up, so the tiny.dll could dynamicly link and could run the code as if it was theirs, which is the whole point of reuseability and dynamic linking.

These tiny dlls with no bindings might translate pretty quickly, and save to disk, where they can be loaded by a open_dll() covered over by a eval() wrapper.

This has been an exercise in narrowing the definition of Dynamic Link Library (as far as Euphoria is concerned) to be a new DLL.extension (.eul? .etl?) which is not repeating executeable code held in all the other DLLs that have been, or might be, loaded.

useless

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu