RE: Dll's Basic Question

Jim asked,
"Hi,
If you see a dll on your system, how do you discover what it is capable of
doing?"

You can list function names for a specific DLL, such as user32.dll, by
running a variety of command-line tools. For example, you can use dumpbin
/exports user32.dll or link /dump /exports user32.dll to obtain function
names. 
Jim asked,
" Here's a related question. If you are using VisualBasic or some
environment and you tell the environment to include a library.
 are you connecting your project to a dll?" 
In most cases yes your using a dll but it depends if the library is a dll or
a static link library as you will find in a lot of c and c++ projects.  If
your using Visual basic most of the time it's a dll that your linking unless
you do some magic to make sure your not.


Jim ask,
"Related to that, if you are using PHP, and you uncomment one of the
extension lines in php.ini, assuming that doing that makes it connect to a
dll, what actually is happening behind the scenes? If you answer, can you
please phrase the answer in plain language?"

Well first off I have not studied the plane language and I could not find a
compiler for it so I will have to try my best to fake it.  Assuming that it
does include a dll what it does is link that dll in to the binary and allow
the scripts access to the exported functions.  I guess the plane language
description of what is going on is if you had a building of rooms with files
in all the rooms and a central group of file clerks.  Lets say there are 100
rooms of file cabinets.  When php starts up it has access to the default 25
rooms and that is all your file clerks have keys to.  So when you tell them
to search for a file they run through all the 25 rooms and if they don't
find the file your looking for they come back pretty quick and tell you.
Then when you uncomment that dll in the init file you give those clerks a
key to another room.  Now they can run through that room and check for your
file.  If the file your looking for is in the new room you can now access
it.  Note we didn't build another room that room is there already.  In
contrast if you linked a static library in you would have to hire a
contractor to knock out a wall and connect a new room to the building.  The
nice part is though you can have them build it really close to the clerks
office and thus make it faster to search than a dll not much faster but it
can be faster but it would definitely take up more space.  

That description really does not explain it because every program can access
the dll just as fast as each other where as in my description of a building
you would have to use different universal dimensions to pull off how
different programs access the same dll.

Now if I have not confused you to much I think I answered your questions.

Ken


__________
View the list's information and change your settings at 
http://www.freelists.org/list/programmingblind

Other related posts: