• DocumentCode
    1526175
  • Title

    The inside story on shared libraries and dynamic loading

  • Author

    Beazley, David M. ; Ward, Brian D. ; Cooke, Ian R.

  • Author_Institution
    Dept. of Comput. Sci., Chicago Univ., IL, USA
  • Volume
    3
  • Issue
    5
  • fYear
    2001
  • Firstpage
    90
  • Lastpage
    97
  • Abstract
    Traditionally, developers have built software as stand-alone applications written in a single language such as Fortran, C, or C++. However, many scientists are starting to build their applications as extensions to scripting language interpreters or component frameworks. This often involves shared libraries and dynamically loadable modules. However, the inner workings of shared libraries and dynamic loading are some of the least understood and most mysterious areas of software development. We tour the inner workings of linkers, shared libraries, and dynamically loadable extension modules. Rather than simply providing a tutorial on creating shared libraries on different platforms, we want to provide an overview of how shared libraries work and how to use them to build extensible systems. For illustration, we use a few examples in C/C++ using the gcc compiler on GNU-Linux-i386. However, the concepts generally apply to other programming languages and operating systems
  • Keywords
    C language; C++ language; Unix; program compilers; software libraries; C language; C++ language; Fortran; GNU-Linux-i386; component frameworks; dynamic loading; gcc compiler; linkers; operating systems; scripting language interpreters; shared libraries; software development; stand-alone applications; Application software; Concatenated codes; Dynamic programming; Functional programming; Joining processes; Resource management; Software libraries; Software maintenance;
  • fLanguage
    English
  • Journal_Title
    Computing in Science & Engineering
  • Publisher
    ieee
  • ISSN
    1521-9615
  • Type

    jour

  • DOI
    10.1109/5992.947112
  • Filename
    947112