Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Forcas

DLL's

This topic is 6232 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

Hey. I know that if I include resources in a DLL, I won''t have to re-build them every time I modify my code. I tried making a DLL with some resources in it, but instead of producing a DLL, it produced a .lib and a .obj I''m using MSVC++ 6. Is there anywhere where I can learn more about DLL''s? How do I make a DLL file, and how do I use it in my exe? -Forcas
"Elvis is alive. He is Barney the purple dinosaur. He is the pied piper that leads our children into the wages of sin and eternal damnation."

Share this post


Link to post
Share on other sites
Advertisement
You probably started a static linked library project instead of a dynamic linked library project. A .lib file is just as good in my opinion (actually better if a lot of people aren''t going to need that one library).

To use it in your .exe, you need

LoadLibrary
FreeLibrary
GetProcAddress.

Also, the DLL has it''s own thread, so you can also call that.

Share this post


Link to post
Share on other sites
Look in MSDN (msdn.microsoft.com). I think if you look up DllExport, you''ll be on the right track. It depends whether you want to load at link time or run time as to how you link and write your project.

I wish I had time to give an example, but I don''t right now unfortunately. Good luck!

Share this post


Link to post
Share on other sites
The thing is, when I build it, it says resources.dll, built. Then I look in the res directory and the closest thing I can find is a lib file. I''m positive I chose dll in appwizard.

-Forcas


"Elvis is alive. He is Barney the purple dinosaur. He is the pied piper that leads our children into the wages of sin and eternal damnation."



Share this post


Link to post
Share on other sites
Check in Project/Settings/Link/General/Output File Name.

Better yet, use ZIP files for res management if you''re doing a game.

Share this post


Link to post
Share on other sites
ZIP files? How? What are the advantages?

File name:
Debug/betterbedynamix.dll

I build it...... and it isn't there. Maybe it has something to do with the fact that I haven't completely coded my dll source. Does it?

Edited by - Forcas on July 24, 2001 1:02:46 AM

Share this post


Link to post
Share on other sites
hmmm... Did you use the option that it should add some example code? If so, add a .def file to the .cpp files and get rid of those dllimport/dllexport defines and the classes... (you won''t be able to use classes then, though...)

In the .def file (a normal .txt file) you define the functions and variables the .dll exports.. (you can find it in the MSDN how to write it exactly..)

to load them in your .exe use LoadLibrary(), FreeLibrary() and GetProcAddress() as mentioned above..

one hint: delete memory where you allocated it.. in other words: If you call allocate memory in a dll function and return a pointer to the .exe be sure to free the memory in a function in the .dll...

In my current project I retrieve function pointers through functions called through function pointers... that''s where it get interesting :o))))))
cya,
Phil

Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states

Share this post


Link to post
Share on other sites

  • 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!