我想试试nxweb。所以我成功地安装了它。不幸的是,文档是不存在的。在深入研究代码和安装说明之后,我发现我必须将C
文件放在modules子目录中,并通过以下方式重新编译主可执行文件:
gcc -O2 -g main.c modules/*.c -o mynxweb `pkg-config --cflags --libs nxweb`
由于这不起作用,我在
main.c
中发现了一些代码,似乎处理了模块的注册。所以我补充道:NXWEB_HANDLER_SETUP(my_click, "/click", click, .priority=1000);
重新编译。它编译得很好。但在
click.o
目录中找不到click.c
(我的源文件名为src/bin
)。信息也没有提到我的模块。所以我不知道我错过了什么。也许我们可以在stackoverflow上启动一个小的nxweb noob docu。
最佳答案
基本上程序如下:
从source构建并安装nxweb。按照安装文件中的说明进行操作。这将安装nxweb库。
写你的模块。以bin/modules/hello.c
为例。确保你有NXWEB_DEFINE_HANDLER(my_unique_handler_name, ...)
在里面。
使用提供的main.c
和模块构建nxweb可执行文件,并将其链接到nxweb库:gcc -O2 -g main.c my_module.c -o mynxweb `pkg-config --cflags --libs nxweb`
通过指定应调用处理程序的url前缀,在nxweb_config.json中配置routing
表:{ "prefix":"/my_handler_url", "handler":"my_unique_handler_name" },
启动/重新启动nxweb。