C 在nxweb中添加模块

C 在nxweb中添加模块,c,webserver,nxweb,C,Webserver,Nxweb,我想试试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",

我想试试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);
然后重新编译。它编译得很好。但是我在
src/bin
目录中找不到
click.o
(我的源文件名为
click.c
)。信息消息也没有提到我的模块。所以我不知道我错过了什么

也许我们可以在Stackoverflow上启动一个nxweb noob docu。

我找到了

您还必须将模块名称和路由路径添加到
nxweb\u config.json

例如:

{ // see modules/click.c
  "prefix":"/click", "handler":"click"
},

基本上,程序如下:

  • 从构建和安装nxweb。按照安装文件中的说明操作。这将安装nxweb库

  • 编写你的模块。以
    bin/modules/hello.c
    为例。确保您在其中有
    NXWEB\u DEFINE\u处理程序(我的唯一处理程序名称,…)

  • 使用提供的
    main.c
    和您的模块构建nxweb可执行文件,并将其链接到nxweb库:

    
    gcc-O2-gmain.cmy_module.c-omynxweb`pkg-config--cflags--libs-nxweb`
    

  • 通过指定应调用处理程序的URL前缀,在nxweb_config.json中配置
    路由
    表:

    
    {“prefix”:“/my_handler_url”,“handler”:“my_unique_handler_name”},
    

  • 启动/重新启动nxweb