Original Post
As far as I am aware, ripping components of a game engine into seperate dll libraries is a fairly common practice to allow for easy and simple upates ect...
But I am curious about the difficulty of implementing such a modular system. I don't have much expieriance doing something like this so I figured I should see if someone can give me some insight on this.
When working dll's, there are subtle things to worry about. So one question I have is how dll's communicate with other dll's and share data. There are issues of dll's having there individual heap, which could cause program crashes if you try to allocate, then deallocate in a different dll ect... But also, can't dlls share the heap with the loading exe app? There are issues with returning objects from dlls and crossing the dll boundries ect... I have read over some of these things that are vaugly described, and I am looking for some one to guide me in the general process of creating a modular system like this.
Thanks for any comments you all have!
Edit: Aswell as the different uses of linking(implicit or explicit[Load Library or link to the .lib]) These all are factors that can, and will go wrong.
But I am curious about the difficulty of implementing such a modular system. I don't have much expieriance doing something like this so I figured I should see if someone can give me some insight on this.
When working dll's, there are subtle things to worry about. So one question I have is how dll's communicate with other dll's and share data. There are issues of dll's having there individual heap, which could cause program crashes if you try to allocate, then deallocate in a different dll ect... But also, can't dlls share the heap with the loading exe app? There are issues with returning objects from dlls and crossing the dll boundries ect... I have read over some of these things that are vaugly described, and I am looking for some one to guide me in the general process of creating a modular system like this.
Thanks for any comments you all have!
Edit: Aswell as the different uses of linking(implicit or explicit[Load Library or link to the .lib]) These all are factors that can, and will go wrong.