- 博客(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
521
原创 二叉树遍历
二叉树是一种比较重要的数据结构,至于什么是二叉树,这里不作解释,网络相关资料比较多。对二叉树也有多种操作,这里主要讨论二叉树的3中常见的遍历操作:前序遍历、中序遍历和后续遍历。同时会附上三种操作的递归代码实现。 1、二叉树的前序遍历 遍历二叉树的前提是二叉树非空,前序遍历的规则遵循先遍历根节点,再遍历左子树,最后遍历右子树。也即:根节点-->左子树-->右子树。如下...
2020-03-18 21:25:36
224
原创 可重入函数
重入函数,我们可以理解为函数被多次重复进入。在多任务系统环境下会出现这种情况,比如函数b同时被多个任务加载执行,此时函数b就发生了重入。 函数的重入是有条件的,并不是所有的函数都能够被重入。对于不满足重入条件的函数进行重入操作,会出现不可预知的错误。比如下面的函数就不满足重入条件,如果对其进行重入操作,会发生不可预知的错误。 int a = 0; ...
2020-03-16 23:56:39
213
原创 Shell文件转发(列转行)
1、给定一个文件,将文件的列转换成行并输出。ps:文件file.txt内容如下 a b c d e f g h i 期望输出结果: a d j b e h c 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
635
原创 Shell输出文本某一行数据
1、给定文件file.txt,输出文件的某一行数据 PS:文件内容如下: line 1 line 2 line 3 输出文件中的第三行数据: 方法1:awk 'NR=3{print $0}' file.txt 方法2:sed -n '3p' file.txt ...
2020-03-06 21:25:21
2918
原创 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
2533
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人