在你说它是重复的之前,我已经读过这个:如何将可变数量的参数从一个函数传递给另一个函数?
我有这样的功能:
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
但在这种情况下我无法更改第二个函数的代码,因为它位于库中我只有 .h 文件。
那么,有没有办法实现这一目标?