Site icon Freshershome

Nix Application Programming

  1. 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.
  2. 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.
  3. Where should the developed libraries be installed on the system? – GNU recommends /usr/local/bin for binaries and /usr/local/lib for libraries.
  4. 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.
  5. How do you create a shared library? – Create the object file with -fPIC for position-independent code, then run gcc with -shared option.
  6. How do you install a shared library? – Run ldconfig in the standard directory that it’s installed in.
  7. What does ldd do? – It shows a list of installed shared libraries.
  8. How do you dynamically load a library in your app? – Use dlopen()
  9. What does nm command do? – It reports the list of symbols in a given library.
Exit mobile version