CppSharp is a collection of libraries for working with C++ code from .NET. # ANNOUNCEMENT We'll be participating in Google Summer of Code 2015 as part of the Mono organization. If you're interested in contributing to the project as part of the program then get in touch! ### Generator Generates .NET bindings that wrap C/C++ code allowing interoperability with managed languages. This is useful if you want to consume an existing native library in your managed code or add scripting support to a native codebase. * Multiple backends: C++/CLI and C# P/Invoke * Multiple ABIs: Itanium, MS, ARM, iOS and iOS64 * Multiple platforms: Windows, OS X and Linux * Virtual table overriding support * Multiple inheritance support * Easily extensible semantics via user passes * Work-in-progress support for STL (C++/CLI only) * Strongly-typed customization APIs and type maps ### AST Mirrors the Clang's C++ AST and type system classes in C# APIs. Check out [_Clang's AST introduction docs_](http://clang.llvm.org/docs/IntroductionToTheClangAST.html) if you're not familiar with the architecture. * C++ declarations * C++ types * Class object layout * Declaration visitors * Type visitors ### Parser Provides APIs for parsing C++ source code. * Parsing of C++ source code * Parsing of libraries archives symbols * Parsing of shared libraries symbols * Based on the very accurate Clang C++ parser. ## Community Mailing list: [Google group](https://groups.google.com/forum/#!forum/cppsharp-list) Build bot (CI): [builds.tritao.eu](builds.tritao.eu) ## Documentation The documentation is still a work-in-progress, please see the following resources for more information: [Getting Started](docs/GettingStarted.md) [User's Manual](docs/UsersManual.md) [Developer's Manual](docs/DevManual.md) ## Building custom wrappers and consulting Please contact @ddobrev.