Linux Application Programming Questions

Explain the difference between a static library and a dynamic library? 

Static library is linked into the executable, while a dynamic library (or shared object) is loaded while the executable has started. 
 

How do you create a static library?

If you have a collection of object (.o) files, you can do it by running ar command. Generally a static library has a .a extension, and you can link it into an executable by providing -l libraryname to gcc. 
 

Where should the developed libraries be installed on the system? 

GNU recommends /usr/local/bin for binaries and /usr/local/lib for libraries. 
 

What’s LD_LIBRARY_PATH? 

It’s an environment variable that lists all the directories which should be searches for libraries before the standard directories are searched. 
 

How do you create a shared library? 

Create the object file with -fPIC for position-independent code, then run gcc with -shared option. 
 

How do you install a shared library?

Run ldconfig in the standard directory that it’s installed in. 
 

What does ldd do? 

It shows a list of installed shared libraries. 
 

How do you dynamically load a library in your app?

Use dlopen() 
 

What does nm command do? 

It reports the list of symbols in a given library. 

Have a Linux Problem
Linux Forum - Do you have a Linux Question?

Linux Books
Linux Certification, System Administration, Programming, Networking Books

Linux Home: Linux System Administration Hints and Tips

(c) www.gotothings.com All material on this site is Copyright.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
All product names are trademarks of their respective companies.
The site www.gotothings.com is in no way affiliated with or endorsed by any company listed at this site.
Any unauthorised copying or mirroring is prohibited.