Sometimes you have a project written in C and you want to add some code (may be open source software) which is provided in C++. So you may want to call a function written in C++ from C. For that purpose, you have to change the function prototype of the concerned C++ function like:
#ifdef __cplusplus
extern "C" {
#endif
int *some_fancy_function(float *im, int width, int height);
#ifdef __cplusplus
}
#endif
The ifdefs are only needed, if you are including the header file containing this code into a C and C++ source file!
When it comes to compiling, use the specific compiler like gcc for C code and g++ for C++ code. Compile each sourcefile(s) into a object file like:
gcc -c myCcode.c
g++ -c myCppcode.cpp
g++ -o myprojectBinary myCcode.o myCppcode.o
The last line will link the object files together.
A good tutorial is found here.