我想试试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。

09-11 19:27