个人C语言验证总结
编译器: gcc
测试环境:ubuntu debain
IDE:vscode c/c++插件, gdb
构建工具: scons 比Makefile, cmake更简洁的构建脚本
代码风格:
- C99特性 变量需要时,在创建与初始化,限定代码的作用访问,减少阅读代码心智负担。
- GNU风格。
4_rwlock_自己实现读写锁.c 3_rwlock_写读测试.c
3_rwlock_写读测试.c 5_rwlock_读写锁_带输入命令测试.c
监听网卡拔插事件: 3.2_netlink_link_down_up.c 5.1_network_monitor_link_UpDwon.c
监听USB拔插事件: 1_usb_hotplug.c
监听网络事件: ip,route变更: 3.1_netlink_route.c
监听单文件变化: 1_inotify_one_file.c
监听多文件变化实例: 2_inotify_two_file.c 3_inotify_实例.c
epoll实例 2_epoll_服务端.c
select实例 1_socket_server.c 3_AF_UNXI_socket_server.c
select实例
ifreq获取网络接口ethx 的ip,mac,status: get_ifc_status.c 1_get_sys_net_device_stats.c 4.1_get_link_ipMaskGwHwFlagsMtu.c 4.2_link_get_tx_rx_statistics.c
获取网络接口的ipv6地址与地址类型: 31_get_ifname_ipv6_address.c
测试ipv4/ipv6地址使用有效:
链表增,遍历,反向 list_test.c
Todo
1.itoa() int转字符 11_my_itoa_int转字符串.c
2.sscanf 字符解析汇总
- snprintf float长度限定 3_snprintf_限定float长度.c
syslog日志库封装 libxlog.c libxlog.h
- http, mqtt 转发日志