Tools and libraries to glue C/C++ APIs to high-level languages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
triton 4cfd5c083e Remove unnecessary NUnit attributes from the tests. 12 years ago
build Move all the testing infrastructure to CppSharp.Generator.Tests. 12 years ago
deps Added missing unit testing dependencies. 12 years ago
docs Updated build scripts with OS X fixes and added some building documentation. 12 years ago
examples Updated build scripts with OS X fixes and added some building documentation. 12 years ago
include Updated the Clix string wrapping code to the latest version with some bug fixes for empty/null strings. 12 years ago
patches Added the skeleton of a patch for Clang that adds support for the new type traits in VS 2013. 12 years ago
src Added new regex-based testing framework to test patterns against the generated code. 12 years ago
tests Remove unnecessary NUnit attributes from the tests. 12 years ago
.gitignore Added an ignore rule for Make-based builds which we will have with the upcoming porting work. 12 years ago
LICENSE Update the license information. 12 years ago
README.md Updated readme. 12 years ago

README.md

CppSharp is a collection of libraries for working with C++ code from .NET.

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 (GCC, Clang), MS and MinGW
  • Virtual table overriding support
  • Multiple inheritance support
  • Easily extensible semantics via user passes
  • Work-in-progress support for STL
  • 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 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

Build bot (CI): builds.tritao.eu

Documentation

The documentation is still a work-in-progress, please see the following resources for more information:

Getting Started

User's Manual

Developer's Manual

Releases

VS2012 32-bit:

News

  • November 11th 2013 - Released a new version (423) with bug fixes for type maps (when used with template specializations), constructors renaming and better documentation generation.

  • November 5th 2013 - Released a new version (329) with a lot of bug fixes for operators and vtables.

  • September 22nd 2013 - Conversion (type cast) operators wrapped (thanks to @ddobrev)

  • September 21st 2013 - Multiple inheritance now supported (thanks to @ddobrev)

  • September 11th 2013 - Added wrapping of inlined functions (thanks to @ddobrev)

  • September 11th 2013 - New binaries available for Windows (VS2012)