Запутанная функция log_trace - PullRequest
0 голосов
/ 28 марта 2012

Я довольно наивный студент по программированию и абсолютно новичок в 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 ++.Кажется, что это должен был написать сам программист.Не могли бы вы объяснить, как это работает?

1 Ответ

0 голосов
/ 28 марта 2012

log_trace функция, вероятно, объявлена ​​или определена в заголовочном файле log.h.См. Этот заголовочный файл для получения дополнительной информации.

...