If you want to do it correct
serial_comm_wrapper.h
#ifdef __cpluscplus
class MyClass;
extern "C" {
#else
struct MyClass;
typedef struct MyClass MyClass;
#endif
MyClass *MyClass_new();
void MyClass_sendCommandToSerialDevice(MyClass *instance, int Command, int Parameters, int DeviceId);
#ifdef __cpluscplus
}
#endif
serial_comm_wrapper.cc
#include "serial_comm_wrapper.h"
#include "serial_comm.hh"
MyClass *MyClass_new()
{
return new MyClass();
}
void MyClass_sendCommandToSerialDevice(MyClass *instance, int Command, int Parameters, int DeviceId)
{
instance->sendCommandToSerialDevice(command, Parameters, DeviceID);
}
external.c
#include "serial_comm_wrapper.h"
int main(int argc, char ** argv) {
MyClass *instance = MyClass_new();
MyClass_sendCommandToSerialDevice(instance, ...);
}