mirror of https://github.com/mono/CppSharp.git
c-sharpdotnetmonobindingsbridgecclangcpluspluscppsharpglueinteropparserparsingpinvokeswigsyntax-treevisitorsxamarinxamarin-bindings
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.
|
10 years ago | |
---|---|---|
build | 10 years ago | |
deps | 12 years ago | |
docs | 10 years ago | |
examples | 11 years ago | |
include | 11 years ago | |
patches | 11 years ago | |
src | 10 years ago | |
tests | 10 years ago | |
.gitattributes | 11 years ago | |
.gitignore | 11 years ago | |
LICENSE | 12 years ago | |
README.md | 11 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, 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.
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:
Building custom wrappers and consulting
Please contact @ddobrev.