We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

The development of the Dynamic Linked Libraries

ho_cm
ho_cm asked
on
Medium Priority
261 Views
Last Modified: 2010-04-15
What is the concept of Dynamic Linked Libraries(DLL)? And how does it actually functons? What are the C libraries functions that are supposed to be called during the development of DLL?
Comment
Watch Question

Author

Commented:
Edited text of question
Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview

Commented:
A DLL is, in a way, similar to a LIB.  You can put functions that are used by several programs there.  The difference is: while the functions in a LIB are included in the EXE during the program linkage, the functions in the DLL are loaded during the program execution, thus allowing for smaller EXE files.

A DLL can be loaded at load-time.  That is, when the program is loaded, all the DLLs it needs are loaded with it (unless they were already loaded into memory by another process).

A DLL can also be loaded at run-time.  That is, when the program is executing, it can dynamically load DLLs (using the LoadLibrary() API under windows) and find addresses of functions that it needs (using the GetProcAddress() API under windows).

A DLL has an entry point which is called when the DLL is loaded or unloaded and when threads attach or detach to it (the entry point is usally called DllMain() API under windows).

Of course, OSes other than Windows use different function naming.

Commented:
You can read more about Windows DLLs at:
http://premium.microsoft.com/isapi/devonly/prodinfo/msdnprod/msdnlib.idc?theURL=/msdn/library/sdkdoc/winbase/dll_92sh.htm

(The first access of MSDN-online will require a one-time registration process)

Author

Commented:
How does threads actually function?

Commented:
>> How does threads actually function?

This is a whole different subject.
Basically, threads are functions that run "in parallel".  The part of the operating system called "scheduler" rapidly switches the CPU between them such that it appears that they are operating concurrently.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.