生如夏花

专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等

tmux使用方法

tmux是一种终端多路复用器:它可以在一个屏幕上创建、访问和控制多个终端。

启动tmux时,它会创建一个带有单一窗口的新会话并显示在屏幕上。 屏幕底部的状态行显示当前会话的信息,并用于输入交互式命令。

本文目前主要记录了一些tmux使用的快捷键、常用配置以及插件使用方法。

TiKZ绘制折线图

本文介绍了TiKZ宏包在LaTeX中的强大矢量绘图功能,包括基础绘图、高级图形绘制和专业领域支持。

提供了一个折线图绘制模板,包括LaTeX代码和数据文件示例。还介绍了Make自动化编译配置,包括编译LaTeX文件和将PDF转换为SVG格式。

最后展示了绘制的折线图结果。

LaTeX之documentclass

每个LaTeX文档都是以命令开始并且以命令结尾。

LaTeX会忽略\end{document}之后的内容。

源码文件中处于\begin{document}之前的属于前导

前导中的第一个命令必须是\documentclass[<选项>]{<文档类>}。该命令接受一个强制参数,该参数是LaTeX内置的预定义文档类之一(也可以是第三方包提供的扩展文档类)。

在本教程中,我们将解释和探讨这些文档类的差异和相似之处,以及每个类应该用于什么目的。我们还将讨论documentclass命令所接受的多个可选参数,这些参数可用于自定义我们文档的外观。

LaTex之中文支持

LaTex支持三种中文编辑显示方法。

要想在pdflatex中编辑、显示中文,使用ctex宏包的同时也需要设置文件编码为UTF-8,区别是ctex宏包版本>=2.5.10时不用在代码中手动指定UTF-8编码。

特性UTF-8+ctex(pdfLaTeX)CJKutf8(pdfLaTeX)ctex+XeLaTeX
编译器pdflatexpdflatexxelatex
文件编码UTF-8(自动检测)UTF-8(强制)UTF-8(原生支持)
字体管理自动映射基础字体需手工指定字体直接调用系统字体
配置复杂度中等(需版本适配)最低

TCP之MSS字段备注

调整TCP参数MSS字段,来设置在TCP层分片而非IP层。

当TCP负载大小不超过TCP的MSS字段值但其加上TCP头、IP头之后超过链路层MTU时,就会触发IP层分片。

正常TCP的MSS字段值为MTU-IPv4头-TCP头=1500-20-20=1460字节或MTU-IPv6头-TCP头=1500-40-20=1440字节。

当遇到IPIP协议(例如IPv4 over IPv6),此时TCP的MSS字段如果仍旧为1460或1440字节时,就会触发IP层分片(TCP层为查过MSS字段值不会触发分片,IP层超过1500字节触发分片),此时应设置为MTU-IPv6头-IPv4头-TCP头=1500-40-20-20=1420字节。

内核数据结构之container_of

container_of宏用于根据结构体某个成员的地址来获取结构体自身的地址,获得结构体自身地址之后可以访问该结构其他字段,定义在<linux/kernel.h>中。

offsetof宏用于计算结构体成员到结构体自身地址之间的偏移,定义在<linux/stddef.h>中。

pragma pack预定义指令用于限制结构体成员的最大对齐数,结构体的对齐数取决于结构体成员的最大对齐数,结构体成员的对齐数取决于其自身大小和编译器设置的参数。

__attribute__((packed))__attribute__((aligned(n)))分别用于GCC不设置对齐和设置以n字节对齐。