[C.C++] C语言从入门到精通-C静态库的生成及使用

734 0
Honkers 2025-10-12 14:18:00 来自手机 | 显示全部楼层 |阅读模式

静态库

什么是静态库

C静态库(Static Library)是C语言编程中常用的一种库文件形式。与动态库(Dynamic Library)相比,静态库在程序编译时会被完全嵌入到最终的可执行文件中,因此生成的可执行文件不依赖于外部的库文件。这意味着,无论目标系统上是否安装了相应的库,只要编译时包含了静态库,程序就可以正常运行。C静态库(Static Library)是C语言编程中常用的一种库文件形式。与动态库(Dynamic Library)相比,静态库在程序编译时会被完全嵌入到最终的可执行文件中,因此生成的可执行文件不依赖于外部的库文件。这意味着,无论目标系统上是否安装了相应的库,只要编译时包含了静态库,程序就可以正常运行。

CLion生成静态库

使用CLion生成静态库文件。

创建C语言库项目

修改库文件.h名称

编写库中的头文件

  1. #ifndef FFYC_FFYC_H
  2. #define FFYC_FFYC_H
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include<sys/socket.h>
  6. #include <arpa/inet.h>
  7. #include <string.h>
  8. #include <unistd.h>
  9. #include <errno.h>
  10. /**
  11. * 启动服务器
  12. * @return
  13. */
  14. int start_server(int port);
  15. /**
  16. * 连接服务器
  17. * @param server_socket
  18. * @return 返回连接状态
  19. */
  20. int conn_server(int server_socket);
  21. /**
  22. * 获取前端返回的数据
  23. * @param conn_socket 连接状态
  24. * @param req_buffer 数组存储请求的字符串
  25. */
  26. void receive_data(int conn_socket, char* req_buffer,int req_buffer_len);
  27. /**
  28. * 打印字符串数组信息
  29. * @param array 字符数组
  30. * @param len 字符数组长度
  31. */
  32. void print_array(char *array, int len);
  33. /**
  34. * 获取请求数据
  35. * @param array
  36. * @param len
  37. * @return
  38. */
  39. char* get_req_data(char *array, int len);
  40. /**
  41. * 将十六进制转换为十进制
  42. * @param c 要转换的字符
  43. * @return 返回十进制数
  44. */
  45. int hex2dec(char c);
  46. /**
  47. * 将输入的字符串中的中文翻译为中文正确格式
  48. * @param url
  49. */
  50. void url_decode(char url[]);
  51. /**
  52. * 发送数据到web前端
  53. * @param conn_socket 连接的socket
  54. * @param data 传输的数据
  55. */
  56. void send_data(int conn_socket,char* data);
  57. #endif //FFYC_FFYC_H
复制代码

编写.c文件

  1. #include "ffyc.h"
  2. char resp_header[] = "HTTP/1.0 200 OK\r\n"
  3. "Server: my-AI-X v1.0\r\n"
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行