School Assignment? Project Due Tomorrow? Chat LIVE With A Programming Expert!

Welcome to Dream.In.Code
Become an Expert!

Join 307,212 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,562 people online right now. Registration is fast and FREE... Join Now!




What are DLLs

 

What are DLLs, and other questions relating to them

CheckersW

1 Sep, 2009 - 12:20 AM
Post #1

D.I.C Head
Group Icon

Joined: 4 Apr, 2009
Posts: 129



Thanked: 3 times
Dream Kudos: 50
My Contributions
Hi there.

I have been programming in VB .Net for a while and I often see questions regarding "dll"s. What are they? Why are they used?

Also, I've noticed that a lot of people are asking about dll injection. What is it, and why is it always looked upon critically?

Thanks for the help.

User is offlineProfile CardPM
+Quote Post


Kanvus

RE: What Are DLLs

1 Sep, 2009 - 02:01 AM
Post #2

D.I.C Regular
Group Icon

Joined: 19 Feb, 2009
Posts: 451



Thanked: 39 times
Dream Kudos: 50
My Contributions
DLL are like lib files but lib files are integrated into your EXE at compile time; DLL are lib files that the EXE looks for at run time. The reason for using "module" style library files is because they can be used by many different EXE applications and system processes. DLL are binary just like EXE files on windows and can be opened by Assembly debuggers when unprotected.

When you inject a DLL, like say, into an OpenGL or DirectX game. You add a chunk of your own code into the EXE to get access to the insides of the game. One example of why you would want to do this is to toggle the renderer's wireframe mode on or off to be able to see through walls in the game and see other players waiting around corners.

For your case in VB there are DLL's you might need to package along with your EXE so that people you give your software to can run the application without having to look for all of the individual files needed. As a developer, your computer has files that normal users don't already have. Packaging the correct library files is important if you want your clients to open your creations.
User is offlineProfile CardPM
+Quote Post

NoBrain

RE: What Are DLLs

4 Sep, 2009 - 01:48 PM
Post #3

D.I.C Lover
Group Icon

Joined: 25 Mar, 2009
Posts: 1,214



Thanked: 39 times
Dream Kudos: 125
My Contributions
DLL = Dynamic-link library
simple to Kanvus answer smile.gif it contain a custom fuction (that you or other make ) and you can add them any time you want (in your classes modules etc.) they remain used only in the object you use them smile.gif

you can look at DLLs like a class or module that you can add only if you need it. but if you use it in your code the PC you want to run your program will need to have that dll too smile.gif

This post has been edited by NoBrain: 4 Sep, 2009 - 01:50 PM
User is offlineProfile CardPM
+Quote Post

KeyboardKowboy

RE: What Are DLLs

10 Sep, 2009 - 12:36 PM
Post #4

D.I.C Head
Group Icon

Joined: 15 Dec, 2008
Posts: 89



Thanked: 10 times
My Contributions
I also wanted to point out the fact that utilizing DLL's allows for better maintenance of the project, as well as aid in the ability to future-proof the project. If your software hits the shelves, and a problem is found, it is much easier to 'patch' the system by upgrading one DLL, instead of requiring a re-compile of the whole project, which would require the end user to re-install the software.

You will also realize (especially when working in an environment with multiple developers) that DLL's allow for a more dynamic code reuse environment. Programmer A writes a DLL to handle TCP Server tasks. Programmer B starts a new project that just so happens to need to utilize similar functionality as your project. Programmer B can reference Programmer A's DLL in his project, and has saved him/herself a lot of time by not having to reinvent the wheel.
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic

Time is now: 11/21/09 09:46PM

Live Help!

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter Fan Us On Facebook

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month