Generating C code interface from CPP using clang libtooling
C++ CMake
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
output
.gitignore
CMakeLists.txt
CPP2C.cpp
README.md

README.md

CPP2C

This is simple tool to generate a C interface from C++ source code using clang libtooling. CPP2C currently is a proof of concept, and only applies to https://github.com/samanbarghi/uThreads, to generate the C interface. The code is explained in details in this blog post.

Building and Installation

git clone https://github.com/samanbarghi/CPP2C
cd CPP2C
mkdir build
cmake ..
make
sudo make install

Run it over uThreads source code

git clone https://github.com/samanbarghi/uThreads
cd uThreads
cpp2c include/uThreads.h -- -I./src -I/usr/include/x86_64-linux-gnu/c++/5/ -I/usr/include/c++/5.4.0 -std=c++11

Output

You can find the output in outpu folder: cwrapper.h is the header that should be included in C files, and cwrapper.cpp is in C++ and is responsible to convert C++ pointers to C and vice versa.