重複していると言う前に、私はすでにこれを読んでいます: How to pass variable number of arguments from one function to another?
私はこのような機能を持っています:
void tlog_function(t_log* logger, const char* message_template, ...) {
pthread_mutex_lock(&loggerLock);
log_function(logger, message_template, ...); // What I want to do..
pthread_mutex_unlock(&loggerLock);
}
そして、私のものではないこのような別の関数は、サードパーティのライブラリから使用します。
void log_function(t_log* logger, const char* message_template, ...);
ご覧のとおり、私がやりたいことは、この関数にミューテックスを追加してスレッドセーフにすることです。使用できることはわかっていますva_list
が、この場合、ライブラリ内にあるため、2 番目の関数のコードを変更することはできません。私は.hファイルしか持っていません。
それで、これを達成する方法はありますか?