写一个引用了libmicrohttpd.a静态库文件的简单的c语言程序
时间: 2023-07-31 08:10:58 浏览: 118
以下是一个简单的 C 语言程序,它使用了 libmicrohttpd.a 静态库文件:
```c
#include <stdio.h>
#include <microhttpd.h>
static int http_callback(void *cls, struct MHD_Connection *connection, const char *url,
const char *method, const char *version, const char *upload_data,
size_t *upload_data_size, void **con_cls) {
const char *response = "Hello, world!\n";
struct MHD_Response *http_response;
int ret;
http_response = MHD_create_response_from_buffer(strlen(response), (void *) response, MHD_RESPMEM_PERSISTENT);
ret = MHD_queue_response(connection, MHD_HTTP_OK, http_response);
MHD_destroy_response(http_response);
return ret;
}
int main(int argc, char **argv) {
struct MHD_Daemon *daemon;
daemon = MHD_start_daemon(MHD_USE_SELECT_INTERNALLY, 8080, NULL, NULL, &http_callback, NULL, MHD_OPTION_END);
if (daemon == NULL) {
printf("Failed to start server\n");
return 1;
}
printf("Server started on port 8080\n");
getchar();
MHD_stop_daemon(daemon);
return 0;
}
```
该程序使用 MicroHTTPd 库创建了一个简单的 HTTP 服务器,监听端口为 8080,当收到 HTTP 请求时,返回一个简单的响应。编译该程序时需要链接 libmicrohttpd.a 静态库文件,可以使用以下命令编译:
```
gcc -o http_server http_server.c -lmicrohttpd
```
其中,-lmicrohttpd 表示链接 libmicrohttpd.a 静态库文件。
阅读全文