Ich schreibe einen 'threadsicheren' C++ - Wrapper der C-API, während die API selbst NICHT Thread-sicher ist. Ich habe versucht, RAII zu verwenden.Aufwand zum Schreiben eines threadsicheren C++ - Wrappers von C API
Ich würde gerne wissen, ist meine Implementierung korrekt? und ob es threadsicher ist. Ich freue mich über Kommentare zu meinem Code. Danke im Voraus!
Die C-API eingewickelt werden soll, wie folgt,
/* an data structure which represents a connection proxy to the logger: */
struct cLog_Logger;
/* connect the logger, and returns a handle to it: */
cLog_Logger* cLog_connect();
/* appends a zero terminated string to the log: */
void cLog_write(cLog_Logger* logger, const char* message);
/* closes the connection with the logger: */
void cLog_close(cLog_Logger* logger);
Meine Implementierung der Umhüllung ist wie folgt:
class LoggerWrapper{
public:
LoggerWrapper(){ //constructor
cLog= cLog_connect();
}
void log(const std::string &message){ //entry point
cLog_write(cLog, message);
cLog_close(cLog);
}
~LoggerWrapper(){ //destructor
delete cLog;
}
protected:
cLog_Logger *cLog;
}
Dank!
Wo sind die Gewinde? – Ajay
@Ajay, Threads sind überall außerhalb Wrapper :) – user2807083