Giter Site home page Giter Site logo

transformersprimeabcxyz / cppsharp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mono/cppsharp

0.0 2.0 0.0 21.57 MB

Tools to surface C++ APIs to C#

License: MIT License

Batchfile 0.02% Lua 0.75% Shell 0.01% Ruby 0.03% C++ 14.57% C# 84.61% C 0.01%

cppsharp's Introduction

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

It has multiple use cases, from parsing C++ code to automatically generating .NET bindings for wrapping C/C++ native code allowing interoperability with managed languages like C#.

This can be used to consume an existing native library in your managed code or add scripting support to a native codebase.

Build Status

windows-vs-x86 linux-gcc-x86_64 osx-clang-x86
windows-vs-x86 linux-gcc-x86_64 osx-clang-x86

Libraries

Generator

  • 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 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.

Documentation

Please see the following resources for more information:

Getting Started

User's Manual

Developer's Manual

Community

Mailing list: Google group

News

2nd, June 2015: We're having three students contributing to the project this summer, as part of Google Summer of Code.

  • Alexandre Esteves (@afesteves)
  • Dimitar Dobrev (@ddobrev)
  • Abhinav Tripathi (@genuinelucifer)

Support

For professional services related to building custom wrappers and consulting please contact @ddobrev (dpldobrev at yahoo dot com).

cppsharp's People

Contributors

tritao avatar ddobrev avatar esdrubal avatar chkn avatar azeno avatar tomba avatar tomspilman avatar oysteinkrog avatar vargaz avatar shana avatar tapika avatar golddranks avatar genuinelucifer avatar stephenatwork avatar vovkasm avatar sundermann avatar xistoso avatar txdv avatar spencercw avatar mydogisbox avatar ebifrier avatar terite avatar vonzepp avatar fornever avatar migueldeicaza avatar gpetrou avatar

Watchers

 avatar  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.