Browse Source

Updated the readme.

pull/123/head
triton 12 years ago
parent
commit
0adf9263af
  1. 88
      README.md

88
README.md

@ -1,30 +1,50 @@ @@ -1,30 +1,50 @@
CppSharp is a library that allows you to generate .NET bindings that wrap C/C++ code allowing interoperability with managed languages. This can be useful if you have an existing native codebase and want to add scripting support, or want to consume an existing native library in your managed code.
CppSharp is a collection of libraries for working with C++ code from .NET.
## News
### AST
* 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 <a href="https://github.com/ddobrev">@ddobrev</a>)
* September 21st 2013 - Multiple inheritance now supported (thanks to <a href="https://github.com/ddobrev">@ddobrev</a>)
Mirrors the Clang's C++ AST and type system classes in C# APIs.
* September 11th 2013 - Added wrapping of inlined functions (thanks to <a href="https://github.com/ddobrev">@ddobrev</a>)
* September 11th 2013 - New binaries available for Windows (VS2012)
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
## Binaries
### Parser
VS2012 32-bit:
Provides APIs for parsing C++ source code.
- [CppSharp_VS2012_423_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_423_artifacts.zip) (_November 13th 2013_)
* Parsing of C++ source code
* Parsing of libraries archives symbols
* Parsing of shared libraries symbols
* Based on the very accurate Clang C++ parser.
### Generator
- [CppSharp_VS2012_329_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_329_artifacts.zip) (_November 5th 2013_)
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
- [CppSharp_VS2012_306_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_306_artifacts.zip) (_October 25th 2013_)
## Community
- [CppSharp_VS2012_183_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_183_artifacts.zip) (_September 17th 2013_)
Mailing list: [Google group](https://groups.google.com/forum/#!forum/cppsharp-list)
Build bot (CI): [builds.tritao.eu](builds.tritao.eu)
## Getting started
## Documentation
The documentation is still a work-in-progress, please see the following resources for more information:
The documentation is still a work-in-progress, please see the following resources
for more information:
[Getting Started](docs/GettingStarted.md)
@ -32,34 +52,24 @@ The documentation is still a work-in-progress, please see the following resource @@ -32,34 +52,24 @@ The documentation is still a work-in-progress, please see the following resource
[Developer's Manual](docs/DevManual.md)
## Why reinvent the wheel?
There are not many automated binding tools around, the only real alternative is SWIG. So how is it different from SWIG?
## Releases
* No need to generate a C layer to interop with C++.
* Based on an actual C++ parser (Clang) so very accurate.
* Understands C++ at the ABI (application binary interface) level
* Easily extensible semantics via user passes
* Strongly-typed customization APIs
* Can be used as a library
## Can I use it yet?
It is being used to bind "real-world" complex codebases successfully, so give it a shot.
VS2012 32-bit:
Since C and C++ provide such a wide array of features I'm sure there's still tonnes of bugs and unsupported edge cases, but give it a try and report any bugs you find and I'll try to fix them ASAP.
- [CppSharp_VS2012_423_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_423_artifacts.zip) (_November 13th 2013_)
- [CppSharp_VS2012_329_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_329_artifacts.zip) (_November 5th 2013_)
## Similiar Tools
- [CppSharp_VS2012_306_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_306_artifacts.zip) (_October 25th 2013_)
* Sharppy - .NET bindings generator for unmanaged C++
[https://code.google.com/p/sharppy/](https://code.google.com/p/sharppy/)
- [CppSharp_VS2012_183_artifacts.zip](https://dl.dropboxusercontent.com/u/194502/CppSharp/CppSharp_VS2012_183_artifacts.zip) (_September 17th 2013_)
* XInterop
[http://xinterop.com/](http://xinterop.com/)
## News
* SWIG
[http://www.swig.org/](http://www.swig.org/)
* 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 <a href="https://github.com/ddobrev">@ddobrev</a>)
* September 21st 2013 - Multiple inheritance now supported (thanks to <a href="https://github.com/ddobrev">@ddobrev</a>)
* Cxxi
[https://github.com/mono/cxxi/](https://github.com/mono/cxxi/)
* September 11th 2013 - Added wrapping of inlined functions (thanks to <a href="https://github.com/ddobrev">@ddobrev</a>)
* September 11th 2013 - New binaries available for Windows (VS2012)

Loading…
Cancel
Save