Jump to content
  • Advertisement
Sign in to follow this  
Sephirox

Custom Plugin Format

This topic is 4836 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

i am just wondering if there is any way to make your own plugin format? i mean like a dll, but not a dll. ie. not a dll, but does the same thing as a dll im thinking that this would be impossible because i could not modify the memory where instructions are read from. basically what im asking is can i write my own dll format and create my own loadlibrary function for that format? if this is not possible, could you tell me some information about how to make cross platform dlls?(obviously they wouldnt be dlls, but id like some info about how non-windows platforms load code from a separate file). thx in advance

Share this post


Link to post
Share on other sites
Advertisement
It can be done on most systems but not in a portable manner. Besides modifying linkers to produce it is probably far worse than relying on the systems native dynamic libraries.
On most platforms you'll at least have to use a native API for allocating executable memory pages.

If you're looking for a way of distributing a single binary for multiple x86 platforms your worst problem will be how to handle the external dependencies of that binary.

Share this post


Link to post
Share on other sites
Why would you want to do this? If you want cross-platform plugins, just compile them for each platform.

Share this post


Link to post
Share on other sites
There is no easy way for that purpose and if there is one I don't know it. You can't have one compiled DLL running on Linux, if that was what you meant. Every OS has his own dynamic library system. You'd better have a look at:

http://www.unitedbytes.de/ (look for SPL-Simple Plugin Layer)
http://www.wxwindows.org/ (look for wxDynamicLibrary)

You'll still have to recompile plugins for every platform (Windows .DLL, Linux .SO...), but they will be, more or less, cross platform. Hope it helps.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!