Git Product home page Git Product logo

cppsharp's Introduction

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)

cppsharp's People

Contributors

tritao avatar ddobrev avatar chkn avatar esdrubal avatar vargaz avatar shana avatar tapika avatar stephenatwork avatar tomspilman avatar terite avatar

Watchers

James Cloos avatar Dan Bikel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.