answersLogoWhite

0


Best Answer

Static libraries are compiled into the program itself, shared libraries are compiled separately and referenced by the program. This enables the program to be much smaller, but requires the shared libraries be available to run.

User Avatar

Wiki User

17y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

11y ago

They are really two terms for the same thing.

In the Unix world, the term dynamic linker is used to denote the component of the operating system which links dynamic libraries at runtime, whereas a loader on most other systems does both program loading and linking dynamic libraries.

Because loading libraries under Unix-like systems is done by a separate component (ld.so most often), a dynamic linker is considered something distinct from the program loader. Compilers usually insert some stub code in the beginning of the executable to load ld.so, and ld.so would continue loading the rest of the dependent libraries before main is invoked. While program loading is done in kernelspace, linking dynamic libraries is usually done in userspace.

This is unlike Windows, where both program loading and linking dynamic libraries is done in kernel mode.

This answer is:
User Avatar

User Avatar

Wiki User

10y ago

A dynamic link library is a shared library, but a shared library is not necessarily a dynamic link library. The reason is that a statically linked library (a library that is linked at compile time rather than runtime) can also be shared, even if the dynamic link library from which the program was statically linked is not itself shared.

This answer is:
User Avatar

User Avatar

Wiki User

9y ago

Static library functions are compiled into the executable, whereas dynamic library functions remain separate from the executable. Dynamic libraries are useful when many programs use the same library and/or where that library may be updated from time to time. So long as the dynamic library interfaces remain the same, the executable doesn't have to be recompiled to make use of the updated library. With static libraries, any changes made to the library do not affect the executable until the executable is recompiled, at which point the updated library is imported into the compilation. Static libraries are useful when those libraries are not intended to be shared amongst different programs.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is the difference between dynamic link library and shared library?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

What is defalt program for dll file how you can set it?

A DLL is a dynamically linked library - its essentially a progams component that can potentially be shared between many programs. It has no program association, and is managed by Windows itself. A DLL is a dynamically linked library - its essentially a progams component that can potentially be shared between many programs. It has no program association, and is managed by Windows itself.


Difference between normal dll and com dll?

A dynamic-link library (DLL) is an executable file that acts as a shared library of functions. Dynamic linking provides a way for a process to call a function that is not part of its executable code. The executable code for the function is located in a DLL, which contains one orA dynamic-link library (DLL) is an executable file that acts as a shared library of functions. Dynamic linking provides a way for a process to call a function that is not part of its executable code. The executable code for the function is located in a DLL, which contains one or more functions that are compiled, linked, and stored separately from the processes that use them. DLLs also facilitate the sharing of data and resources. Multiple applications can simultaneously access the contents of a single copy of a DLL in memory The Component Object Model (COM) is a component software architecture that allows applications and systems to be built from components supplied by different software vendors. COM is the underlying architecture that forms the foundation for higher-level software services, like those provided by OLE. OLE services span various aspects of component software, including compound documents, custom controls, inter-application scripting, data transfer, and other software interactions. more functions that are compiled, linked, and stored separately from the processes that use them. DLLs also facilitate the sharing of data and resources. Multiple applications can simultaneously access the contents of a single copy of a DLL in memory


What is the difference between fixed partition and dynamic partition?

The difference between fixed partition and dynamic partition... For the case of disk partitions: Fixed partitions are defined in the master boot record, or in one of its chains that define logical partitions in an extended partition. As such, they are known at boot time and, if the operating systems recognize them, they can be shared between multiple installations, such as Windows and Linux. Dynamic partitions are defined by the operating system. They are defined out of unallocated drive space and, as such, are not known at boot time. They can not generally be shared between different installations. Also, unless the operating system using dynamic partitions makes at least its allocations known to the boot record, any attempt to manage disc space using both techniques is dangerous. For the case of analysis and programming: Partitioning is a technique used to break data up into managable pieces. Binary Search, for instance, partitions an array into successively smaller pieces as it narrows its search space down. Sorting can also partition data, sorting each partition and then sorting the partitions. Quick Sort and Merge Exchange Sort are examples of that. Statistical analysis may also partition data. The list is endless. Addressing the specific question, then, static partitioning is breaking the data up into fixed sized pieces, while dynamic partitioning makes the piece size variable, often as a consequence of the results as they evolve.


What is the difference between shared memory and thread?

Shared memory and thread are not compareable since both of them relies to different technologies. A Shared memory is one of the methods to implement interprocess communication or IPC, by which different processes or tasks can access the same memory area, to share data between them. A thread or thread of execution is a mechanism by which a process can be split in to multiple simultaneously running pieces of code.


How do you use dll?

DLL files are files shared between a number of software programs (and are similar to .EXE files), used in Microsoft Windows and OS/2 operating systems. A static library attaches itself to the executable itself and hence supose some function A is to be used by n applications, all n apps will have functions A definition in their executables. BUT if func A is written in a dynamic link library or DLL, first DLL should export this function. and then n apps can call into this function. it will save a lot of memory. you can also dynamically load the library by calling LoadLibrary function. generally DLL will export all required functions which are supposed to be called by applications.

Related questions

What kind of file library does dll feature?

DLL stands for dynamic-link library. It is microsoft's implementation of a shared library concept in it's Microsoft Windows operating system architecture.


What are the differentiate between dynamic linking and dynamic loading?

Dynamic linking defers of the linking process until a program running or sometimes. It provides a variety of benefits that are hard to get otherwise- a. Dynamically linked shared libraries are easier to create that statically linked shared libraries. b. Dynamically linked shared libraries are easir to update than statically linked shared libraries.


What is the difference between personal and shared laser printer?

nothing


What happends to electrons in a colvalent bond?

Electrons are shared between the atoms that are bonded. If there is an electronegativity difference between the atoms the electrons will be shared unequally.


Difference between dynamic link library and static library?

DLL is an executable file and it is a shared library for functions. It differs from static linking in that the executable module to include only the information needed at run time to locate the executable code for the functions. In static linking, the linker gets all of the referenced functions from the static link library and places it with your code into your executable. DLLs save memory, reduce swapping, save disk space, upgrade easier, provide after-market support, provide a mechanism to extend the MFC library classes, support multilanguage programs, and ease the creation of international versions.


What is the difference between shared and learned value?

A shared value is a something that is told to you. A learned value is something that you have earned.


Is c library a shared library?

Can be -- platform dependent.


What is difference between transmission and primary on 2003 sportster?

Nothing. It's shared.


Difference between shared and integrated database system?

"http://wiki.answers.com/Q/Difference_between_shared_and_integrated_database_system"


What is the difference between shared dual channel ddr2 SDRAM at 533mhz or ddr2 SDRAM at 667mhz?

Obviously the difference is speed.


What is the difference between using open authentication and pre-shared keys?

Open authentication requires a password. Pre-shared keys do not require a password.


What is the difference between a polar bond and a nonpolar bond?

A covalent bond in which electrons are shared unequally is polar.The valance electons are shared equally and the bond is nonpolar.