我是一个非常天真的编程学生,对于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 ++中的预定义函数。好像它必须由程序员自己编写。你能解释一下它是如何起作用的吗?
答案 0 :(得分:0)
log_trace
函数可能在log.h
头文件中声明或定义。有关详细信息,请参阅该头文件。