View previous topic :: View next topic |
Author |
Message |
kylefurlong
Joined: 16 Nov 2005 Posts: 29
|
Posted: Wed Nov 15, 2006 12:20 am Post subject: How to support this design pattern? |
|
|
So I'd like to provide a library (game engine) which dynamically loads parts of itself at runtime using DDL.
Currently, the problem is that I get errors because the end user executable symbols arent being loaded.
How can I work around this? Is it impossible without forcing the user to provide his symbols? |
|
Back to top |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Wed Nov 15, 2006 1:37 am Post subject: Re: How to support this design pattern? |
|
|
kylefurlong wrote: | So I'd like to provide a library (game engine) which dynamically loads parts of itself at runtime using DDL.
Currently, the problem is that I get errors because the end user executable symbols arent being loaded.
How can I work around this? Is it impossible without forcing the user to provide his symbols? |
I suppose Eric knows more of this, but I think you will have a hard time without loading the executable, something you can do by using the insitu component/loader. |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Wed Nov 15, 2006 8:25 am Post subject: Re: How to support this design pattern? |
|
|
kylefurlong wrote: | So I'd like to provide a library (game engine) which dynamically loads parts of itself at runtime using DDL.
Currently, the problem is that I get errors because the end user executable symbols arent being loaded.
How can I work around this? Is it impossible without forcing the user to provide his symbols? |
The only way DDL can link to modules at runtime is if the .exe is "DDL aware" and has an up-to-date in-situ symbol listing. This is due to the fact that runtime modules need to hook into the GC, IO, and exception hooks in the main program. Runtime modules simply won't function without them.
If you need more code security than that, you need to look into using the more traditional .dll approach, or simply cull symbols from your .map/.in-situ file that you don't feel like sharing to the world. The latter will take some serious trial-and-error, but may be worth it in the end. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
|