log_trace函数混乱



我是一个非常天真的编程学生,对lighttpd完全陌生。我试图理解一个简单的"Hello world"插件是如何构建的。我从一本书中找到了密码。代码如下。

#includes "base.h"
#includes "log.h"
#includes "plugin.h"
#ifdef HAVE_CONFIG_H
#includes "config.h"
#endif
typedef struct { PLUGIN_DATA; /* no config */ } plugin_data;
INIT_FUNC(mod_helloworld_init) {
  plugin_data *p;
  UNUSED(srv);
  p = calloc(1, sizeof(*p));
  log_trace("Hello, World!");
  return p;
}
FREE_FUNC(mod_helloworld_free) {
  plugin_data *p = p_d;
  UNUSED(srv);
  if (p) free(p);
  return HANDLER_GO_ON;
}
int mod_helloworld_plugin_init(plugin *p) {
  p->version = LIGHTTPD_VERSION_ID;
  p->name = buffer_init_string("helloworld");
  p->init = mod_helloworld_init;
  p->cleanup = mod_helloworld_free;
  p->data = NULL;
  return 0;
}

在上面提到的代码中,我不理解函数"log_trace"是如何工作的。我发现它不是C++中预定义的函数。它似乎必须由程序员自己编写。你能解释一下它是怎么工作的吗?

log_trace函数可能在log.h头文件中声明或定义。有关详细信息,请参阅该头文件。

最新更新