上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 53 下一页

2023年10月17日

C语言 static和extern

摘要: extern头文件定义变量或者函数默认是extern,在整个程序的所有源文件里都可以访问和修改。 static头文件static修饰变量后对其他源文件不可见并持久化,修饰函数后对其他源文件不可见。 阅读全文

posted @ 2023-10-17 22:00 王景迁 阅读(11) 评论(0) 推荐(0)

2023年10月15日

C语言 通过union共存体释放常量指针指向的堆空间

摘要: union共存体中所有成员占用相同的内存空间。因为free函数参数是void *,常量指针是const void *,所以free函数释放常量指针时会因类型不同而失败。 #include <stdio.h> #include <malloc.h> #include <string.h> typede 阅读全文

posted @ 2023-10-15 10:31 王景迁 阅读(46) 评论(0) 推荐(0)

C语言 strdup函数把字符串复制到新空间

摘要: 头文件是string.h。根据传入的字符串参数,malloc分配空间并复制,返回首地址,该地址通过free来释放。 #include <stdio.h> #include <malloc.h> #include <string.h> int main() { char a[20] = "123"; 阅读全文

posted @ 2023-10-15 10:22 王景迁 阅读(28) 评论(0) 推荐(0)

valgrind分析内存

摘要: 安装valgrind yum install -y valgrind 分析内存泄漏 valgrind --tool=memcheck --show-leak-kinds=all --undef-value-errors=no --log-file=check --leak-check=full 二进 阅读全文

posted @ 2023-10-15 10:16 王景迁 阅读(33) 评论(0) 推荐(0)

主机字节序和网络字节序

摘要: 小端字节序和大端字节序 考虑一个16位整数,它由2个字节组成。内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端(little-endian)字节序;另一种方法是将高序字节存储在起始地址,这称为大端(big-endian)字节序。Inter x86、ARM核采用的是小端模式, 阅读全文

posted @ 2023-10-15 09:30 王景迁 阅读(147) 评论(0) 推荐(0)

C语言 likely和unlikely

摘要: likely和unlikely作用 在知道哪个发生概率更高的情况下,有if时使用likely和unlikely让代码运行更快。likely和unlikely是两个宏,当有if-else分支时告诉编译器,哪个条件更加有可能发生。likely代表if分支大概率会发生,unlikely代表if分支大概率不 阅读全文

posted @ 2023-10-15 08:57 王景迁 阅读(878) 评论(0) 推荐(0)

2023年10月13日

Linux脚本内开异步进程和终端开异步进程区别

摘要: sleep.sh内容 sleep 1000 & echo $! 脚本内开异步进程是1号进程的子进程 终端开异步进程是当前bash进程的子进程 在关闭终端后该异步进程会停止 停止终端时想要继续执行,使用nohup sleep 1000 &,刚开始是终端bash进程的子进程,在终端停止后会变成1号进程的 阅读全文

posted @ 2023-10-13 08:51 王景迁 阅读(22) 评论(0) 推荐(0)

2023年10月1日

dpdk LPM

摘要: DPDK LPM(Longest Prefix Match)是高性能前缀路由匹配库,用于数据包转发过程中快速查找与dstIP地址最长匹配的路由表项。DPDK LPM查找时只需要提供目的IP,eBPF LPM查找时需要提供目的IP和子网掩码。 LPM实现 高性能:基于前缀树算法实现快速匹配。线程安全: 阅读全文

posted @ 2023-10-01 17:37 王景迁 阅读(334) 评论(0) 推荐(0)

dpdk官方转发例子分析

摘要: 例子源码http://dpdk.org/browse/dpdk/tree/examples/skeleton/basicfwd.c main函数主流程 1. 初始化环境抽象层EAL int ret = rte_eal_init(argc, argv); if (ret < 0) rte_exit(E 阅读全文

posted @ 2023-10-01 17:16 王景迁 阅读(233) 评论(0) 推荐(0)

dpvs dnat模式

摘要: dnat模式发送报文 src/ipvs/ip_vs_core.c针对ipv4,INET_HOOK_PRE_ROUTING注册2个函数dp_vs_pre_routing和dp_vs_in,因为nat不做防止DDos攻击的syn_proxy,所以看dp_vs_in。 conn_sched新请求建立连接选 阅读全文

posted @ 2023-10-01 16:55 王景迁 阅读(90) 评论(0) 推荐(0)

上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 53 下一页

导航