Fresh c cpp

Sir, fresh C CPP PR. And this can be merged.
Will send fresh java PR once this is merged. (as there are dependencies)