Dynamic Libraries
SeanParent (Talk | contribs) |
|||
| (10 intermediate revisions by 2 users not shown) | |||
| Line 8: | Line 8: | ||
==Introduction== | ==Introduction== | ||
| − | |||
| − | |||
==Body== | ==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== | ==Related Work== | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1400.html] N1400 Toward standardization of dynamic libraries, Matt Austern | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1418.html] N1418 Dynamic Libraries in C++ Notes from the Technical Session in Santa Cruz, Oct. 21, 2002, Pete Becker | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1496.html] N1496 Draft Proposal for Dynamic Libraries in C++ (Revision 1), Pete Becker | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html] N1976 Dynamic Shared Objects: Survey and Issues, Benjamin Kosnik | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html] N2013 Versioning with Namespaces, Benjamin Kosnik | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2117.htm] N2117 Minimal Dynamic Library Support, Lawrence Crowl | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2073.pdf] N2073 Modules in C++ (Revision 4), Daveed Vandevoorde | ||
| + | |||
| + | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2074.pdf] N2074 Plugins in C++, Daveed Vandevoorde | ||
==Acknowledgments== | ==Acknowledgments== | ||
Latest revision as of 20:39, 8 November 2006
[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
[edit] Abstract
[edit] Introduction
[edit] Body
[edit] Basic Use Cases
[edit] Separate Compilation (Revision Locked)
[edit] Upgradable Component (Not Revision Locked)
[edit] Plug-In Component
[edit] Dynamic Library Issues
[edit] Standard ABI
[edit] Name Mangling
[edit] RTTI
[edit] Exception Handling
[edit] Replacement Operators
[edit] Symbol Visibility
[edit] Static Initialization
[edit] Object Lifetime
[edit] Code Lifetime
[edit] Inline Functions and Template Instantiations
[edit] Exported Templates
[edit] Library Versioning
[edit] Multiple Versions in Same Application
[edit] Standard Library Symbols and Versioning
[edit] Issues with New Language Features?
[edit] Proposal
[edit] 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