C/C++
dillanzhou
这个作者很懒,什么都没留下…
展开
-
gcc编译时使用-include参数添加头文件引用
编写C和C++程序时,需要在代码中使用#include来引用头文件。除了这个方法外,gcc支持参数-include,可以在编译时直接向目标代码中添加头文件,而不需要在代码中加入include语句。通过这个方式可以在不修改代码的情况下增加或改变头文件引用,在大量文件都要引用相同的公共头文件时减少代码量。以DPDK为例,在DPDK中,编译时会将config配置文件中的所有配置信息全部转换为宏定...原创 2018-09-28 09:58:03 · 8237 阅读 · 0 评论 -
使用ebpf分析网络报文传输时延
最近需要分析某个链路上的单向网络延迟,数据的发送端使用一个用户态协议栈,而接收端则使用linux内核协议栈。获取延迟的方式是在发送端在发送报文的尾部添加一个发送时间戳,在接收端获取报文后将接收端时间戳与发送时间戳进行对比,从而获得中间的延迟时间。由于发送端和接收端位于同一设备(使用不同的网卡),又分别处于用户态和内核态,因此使用了两端都能高性能访问的tsc时钟作为时间戳来源。为了在接收端尽可能...原创 2019-08-31 23:13:06 · 2389 阅读 · 1 评论