Dynamic Libraries
[This page is being used to collaborate on a paper. You are welcome to read and comment on it, but consider it a work in progress, not a final product.]
Title: Dynamic Library Support for C++
Authors: Sean Parent, Mat Marcus
Contents
- Abstract
- Introduction
- Body
- Basic Use Cases
- Dynamic Library Issues
- Standard ABI
- Name Mangling
- RTTI
- Exception Handling
- Replacement Operators
- Symbol Visibility
- Static Initialization
- Object Lifetime
- Code Lifetime
- Inline Functions and Template Instantiations
- Exported Templates
- Library Versioning
- Standard Library Symbols and Versioning
- Issues with New Language Features?
- Proposal
- Related Work
- Acknowledgments
Abstract
Introduction
Body
Basic Use Cases
Separate Compilation (Revision Locked)
Upgradable Component (Not Revision Locked)
Plug-In Component
Dynamic Library Issues
Standard ABI
Name Mangling
RTTI
Exception Handling
Replacement Operators
Symbol Visibility
Static Initialization
Object Lifetime
Code Lifetime
Inline Functions and Template Instantiations
Exported Templates
Library Versioning
Multiple Versions in Same Application
Standard Library Symbols and Versioning
Issues with New Language Features?
Proposal
Related Work
[1] N1400 Toward standardization of dynamic libraries, Matt Austern
[2] N1418 Dynamic Libraries in C++ Notes from the Technical Session in Santa Cruz, Oct. 21, 2002, Pete Becker
[3] N1496 Draft Proposal for Dynamic Libraries in C++ (Revision 1), Pete Becker
[4] N1976 Dynamic Shared Objects: Survey and Issues, Benjamin Kosnik
[5] N2013 Versioning with Namespaces, Benjamin Kosnik
[6] N2117 Minimal Dynamic Library Support, Lawrence Crowl
[7] N2073 Modules in C++ (Revision 4), Daveed Vandevoorde
[8] N2074 Plugins in C++, Daveed Vandevoorde