go-cxxdict icon indicating copy to clipboard operation
go-cxxdict copied to clipboard

Tools to automatically generate Go bindings for C/C++ libraries from GCC-XML informations. fork from genreflex from root.cern.ch to add go-bindings.

go-cxxdict

GoCxx is a (still experimental) tool to automatically generate Go bindings from any C/C++ library using GCC-XML informations.

Eventually, its plugin system should allow to support the generation of Go bindings from various sources (CLang, SWIG-XML, ...) Its plugin system should also allow to generate bindings for other languages than just Go.

For the moment, only the generation of Go code for the gc compiler is supported (gccgo is planned though.)

Status

What works (ie: has been tested and has regression tests):

  • simple functions
  • overloaded functions
  • simple classes
  • classes with simple inheritance
  • classes with overloaded methods
  • handling of C strings (ie: const char*)

Other C++ features may work (by pure chance) but have not been tested yet.

Tests

Go under go-cxxdict/tests and run:

$ ./run.sh
:: tests: basics cxx-oop
:: running test [basics]...
:: running test [basics]...[ok]
:: running test [cxx-oop]...
:: running test [cxx-oop]...[ok]