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