- 博客(6)
- 收藏
- 关注
原创 内核第一宏 offsetof详解
offsetof是linux内核中一个非常重要的宏。它的主要作用就是求结构体重某个成员在结构体重的位置偏移。其实现如下:#define offsetof(TYPE, MEMBER) \((size_t)&((TYPE *)0)->MEMBER)解释:(TYPE *)0是指向TYPE类型的指针,其指针值是0,其作用是将从地址0开始的一段内存映射为TYPE类...
2020-03-29 21:29:19 464
原创 二叉树遍历
二叉树是一种比较重要的数据结构,至于什么是二叉树,这里不作解释,网络相关资料比较多。对二叉树也有多种操作,这里主要讨论二叉树的3中常见的遍历操作:前序遍历、中序遍历和后续遍历。同时会附上三种操作的递归代码实现。1、二叉树的前序遍历 遍历二叉树的前提是二叉树非空,前序遍历的规则遵循先遍历根节点,再遍历左子树,最后遍历右子树。也即:根节点-->左子树-->右子树。如下...
2020-03-18 21:25:36 177
原创 可重入函数
重入函数,我们可以理解为函数被多次重复进入。在多任务系统环境下会出现这种情况,比如函数b同时被多个任务加载执行,此时函数b就发生了重入。 函数的重入是有条件的,并不是所有的函数都能够被重入。对于不满足重入条件的函数进行重入操作,会出现不可预知的错误。比如下面的函数就不满足重入条件,如果对其进行重入操作,会发生不可预知的错误。 int a = 0; ...
2020-03-16 23:56:39 171
原创 Shell文件转发(列转行)
1、给定一个文件,将文件的列转换成行并输出。ps:文件file.txt内容如下a b cd e fg h i期望输出结果:a d jb e hc f i脚本实现:awk '{for(i=1;i<=NF;i++)a[NR,i]=$i}END{for(j=1;j<=NF;j++)for(k=1;k<=NR;k++)printf k==NR?a[k,...
2020-03-06 22:13:47 563
原创 Shell输出文本某一行数据
1、给定文件file.txt,输出文件的某一行数据PS:文件内容如下:line 1line 2line 3输出文件中的第三行数据:方法1:awk 'NR=3{print $0}' file.txt方法2:sed -n '3p' file.txt...
2020-03-06 21:25:21 2803
原创 Source Insight 4.0 无法识别c++的 .cc文件
Source Insight默认情况下是不识别"*.cc"类型的c++文件的,需要进行如下的操作:1、创建工程的时候,在文件识别选项中去掉“Show only known file types”的选项2、文件加载完成后找到菜单选项中的 “Options-->File Type Options”:(1)左端窗口选择"C/C++ Source File"(2)在右端窗口的方...
2020-02-18 20:24:14 2179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人