Dynamic Libraries

From Adobe Open Source Wiki
Jump to: navigation, search

[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

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

Acknowledgments