自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tecoes的博客

本博客仅仅是作者对学习的一个记录,转载自网络的文章,如果有侵犯的权益请联系作者做一个声明~~~

  • 博客(20)
  • 收藏
  • 关注

原创 调试查询命令

最近这段时间由于海思芯片被禁,导致公司的设备各种芯片和外设都在物料替换,不仅仅底层需要重新设计,上层也要跟着重新实现,这里记录下与内核联调中经常使用的命令可能哪天就换了工作了,毕竟公司各不相同,还是调试的手段是大同小异的,可能具体命令上是有细微差别的查看驱动加载:lsmod查看系统中断次数,硬件操作一下,中断次数就会累加一次,不然的话就是底层有问题:cat /proc/interrupts查看各个进程的fd结点,可以使用ls -l,可以查看文件的具体格式:ls -l /pr...

2021-05-30 21:53:50 120

转载 由已知结构体里的某个成员名及该成员地址获取该结构体指针

最近在学习数据结构链表,发现在可复用的链表中链表一般还有一个指针域结点,并没有数据域结点,链表的常用操作也只有next域。只是在使用链表时候会再定义一个数据元素结构体,结构体里会包含链表元素,这种操作搞的有点懵,为啥链表常用接口都没有数据的相关操作还可以使用链表,后面仔细想了一下应该只是借助链表来存储了结点的各个地址,而链表是结构体的一个成员,借助结构体成员的地址和偏移地址,可以求得结构体的首地址,然后就可以引用结构体来读取和配置真正的数据信息。以下是转载的https://blog.csdn.net/s

2021-05-30 21:30:14 826

转载 结构体直接赋值条件

最近在阅读代码的时候发现有直接使用结构体赋值的地方,比较疑惑,在最初观念里结构体赋值一般通过memcpy或者strcpy实现赋值,网上搜了下,发现结构体赋值只能在相同的结构体类型中才可以下面是一个实例:#include <stdio.h>struct Foo { char a; int b; double c;}foo1, foo2; //define two structs with three different fieldsvo...

2021-05-30 20:50:58 266

转载 含有指针类型成员变量的结构体使用事项

含有指针类型成员变量的结构体在实际代码中也是经常遇到的,这篇文章总结了几个注意点,原文链接:https://blog.csdn.net/u012273127/article/details/52388220在C++中经常用到结构体和指针,当定义一个结构体,结构体成员中有指针的时候,需要注意很多。一下分为:结构体初始化、结构体作为函数参数、函数返回值、以及结构体指针的情况进行总结。一、含有指针成员的结构体初始化含有指针成员的结构体初始化的时候,必须给指针成员给一个明确的地址。注意:给指针成员初始化

2021-05-30 19:13:04 1234

转载 论void void*及void**类型

1、void的作用c语言中,void为“不确定类型”,不可以用void来声明变量。如:void a = 10;如果出现这样语句编译器会报错:variable or field ‘a’ declared void。在C语言中void 常常用于:对函数返回类型的限定和对函数参数限定:   (1)对函数返回类型的限定:当函数不需要返回类型是必须用void 来限定返回类型,限定了函数的返回类型为void后函数不能有返回值;如:void fun(int a); (2)对函数参数类型的限定:当函数不允许接受

2021-05-30 18:45:03 3686

转载 线性表的链式实现(单链表)

单链表的定义为了表示每个数据元素与其直接后续元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后续的信息,即每个结点存放本身的数据元素和下一个元素的地址。n个结点连接成一个链式线性表的结构我们叫做链表,当每个结点只包含一个指针域时,叫做单链表。首先给出一个线性表,存放数据元素,a1到 an有这样的线性逻辑关系。单链表在存储空间上是这样存放的,它是存放在任意位置的,这个任意位置表示它们不一定要连续。如图所示的 a2、a3与 a3、a4。第二个很明显的差别是单链表在存...

2021-05-24 01:09:20 1363

转载 线性表的顺序实现

顺序表的定义线性表的顺序存储又称为顺序表来看一个生活中的例子:周末和朋友一起吃火锅,人非常多,我们需要在等候区等候,这个等候区就与顺序表有非常多的相似之处,借助它去理解顺序表的特点。首先,在等候区有非常多的椅子,这些椅子往往是排成一排连续排放的,中间不会空出很大的空间造成浪费。这就与在顺序表中选取存储单元的方法是一样的,选取一段地址连续的存储单元去存放顺序表。接着工作人员会安排我们在椅子上连续的坐下等候。在存储单元当中去进行数据的存放是一样的,也是依次地存放线性表当中的数据元素,中间也不会空出许多存

2021-05-23 20:07:33 659

原创 线性表的定义与常用操作接口定义

线性表的定义:线性表是具有相同类型的n(n>=0)个数据元素的有限序列。一般可以表示为:L=(a1,a2,…,ai,ai+1,…,an)。a1是唯一的“第一个”数据元素,又称为表头元素; an​ 是唯一的“最后一个”数据元素,又称为表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继.以上就是线性表的逻辑特性,这种线性有序的逻辑结构正是线性表名字的由来。线性表有如下特点:(1).线性表是零个或多个数据元素的几何(2).线性表中的数

2021-05-22 17:00:58 617

转载 【转】用信号量(互斥锁)实现两个线程交替打印

转载自https://blog.csdn.net/liqiao_418/article/details/83715863,面试的时候被问到了怎么交替打印数字通过两个线程,当时有点懵,知道考察的点是线程的同步和线程互斥,能想到的也是互斥锁和条件变量,但是具体怎么实现当时却没有想到,网上搜索了一下,发现这篇文章通过互斥锁和信号量来实现,最关键的还想到了使用两个标志位的小技巧来处理各种异常情况,考虑的非常细致。本文实现两个线程交替打印,采用的是逐步添加代码,分析每一步代码的作用,若想要看最终版本可直接翻看后面

2021-05-11 00:38:04 855

转载 linux学习网址

网上浏览博客的时候,偶然发现一篇博客里贴了一些不错的学习网址,再次感谢网上的大牛们,备注如下:linux命令:https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.htmllinux性能工具https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/index.html编程之法:https://github.com/julycoding/The-Art-Of-Pr

2021-05-11 00:05:54 79

转载 top和ps查看线程

在Linux上显示某个进程的线程的几种方式。方法一:PS在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。1.$ ps -T -p <pid>方法二: Toptop命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。1.$ top -H要让top输出某个特定进程<

2021-05-10 23:54:07 8071

转载 fork()和vfork()的区别

llinux中fork和vfork函数都可以创建进程,但是两者的创建方式是有区别的:1.vfork保证子进程先运行,在它调用exec或exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。2.fork要拷贝父进程的进程环境;而vfork则不需要完全拷贝父进程的进程环境,在子进程没有调用exec和exit之前,子进程与父进程共享进程环境,相当于线程的概念,此时父进程阻塞等待。因此:fork:子进程和父进程拥有独立的数据段,堆和栈区,两者完全独

2021-05-10 23:25:49 292

转载 [转载]高并发的socket的高性能设计

高性能数据传输系统的框架设计1 引言 随着互联网和物联网的高速发展,使用网络的人数和电子设备的数量急剧增长,其也对互联网后台服务程序提出了更高的性能和并发要求。本文的主要目的是阐述在单机上如何进行高并发、高性能消息传输系统的框架设计,以及该系统的常用技术,但不对其技术细节进行讨论。如您有更好的设计方案和思路,望共分享之![注:此篇用select来讲解,虽在大并发的情况下,epoll拥有更高的效率,但整体设计思路是一致的]首先来看看课本和学习资料上关于处理并发网络编程的三...

2021-05-10 23:10:02 526

转载 进程,线程及多线程的概念

1.线程的概念:线程是轻量级的进程,线程与创建它的进程共享代码段、数据段,即共享全局变量,但是线程有自己独立的栈,有自己的函数调用,不然调用会混乱2.多线程的概念?  说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。  进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是...

2021-05-10 00:16:59 286

转载 图解排序算法(六)之堆排序

堆排序  堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆  堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是:

2021-05-05 23:55:19 132

转载 图解排序算法(五)之归并排序

基本思想  归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略,分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之。下面我们来看归并排序的思路(先讲思路再来具体讲归并的细节):当要排序一个数组的时候,归并排序法首先将这个数组分成一半。然后想办法把左边的数组给排序,右边的数组给排序,再将它们归并起来。怎么让左边和右边的部分有序呢,继续把

2021-05-05 23:21:48 322

原创 图解排序算法(四)之快速排序

快速排序基本思想及步骤算法思想上节介绍的冒泡排序扫描过程只对相邻的两个元素进行比较,因此在互换两个相邻元素时候只能消除一个逆序。如果能通过两个不相邻的元素交换,消除待排序记录中的多个逆序,则会大大加快排序的速度。快速排序方法中的一次交换可能消除多个逆序。从待排序记录序列中选取一个记录(通常选取第一个记录)为标准记录,其关键字设为K1,然后将其余关键字小于K1的记录移到前面,而将关键字大于或者等于K1的记录移到后面,结果将待排序记录序列分成两个子表,最后将关键字为K1的记录插到其分界线的位置处,这

2021-05-05 19:49:10 327

转载 图解排序算法(三)之折半插入排序

折半插入排序利用二分法的思想,在一个有序的序列中,找到新元素在该序列中的位置,然后插入。如图1所示,共有n个元素,前i个元素已经是有序序列,现在要将第i个元素插入其中。折半插入排序需要做两步工作:找到待插入元素的位置、插入。图1 插入排序示意图首先要定义两个指针(不是语法里面的指针,是下标的意思)low和high用于寻找a[i]的插入位置,low指向a[0],high指向a[i-1],中点mid=(low+high)/2,图2 “折半”示意图如图2所示二分法的思想是,比较..

2021-05-05 17:06:00 9773 1

转载 图解排序算法(二)之希尔排序

希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。基本思想  希尔排序的实现思路是:先将整个记录表分割成若干部分,分别进行直接插入排序,以使整个序列基本有序,然后再对整个记录表进行一次直接插入排序。增量d表示将n个数据元素分成d个子序列,每个子序列元素之间相差也是d  简

2021-05-05 16:44:18 121

原创 图解排序算法之3种简单排序(选择,冒泡,直接插入)

排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,毕竟每种语言的类库中都有n多种关于排序算法的实现。但是了解这些精妙的思想对我们还是大有裨益的。本文简单温习下最基础的三类算法:选择,冒泡,插入。先定义个交换数组元素的函数,供排序时调用简单选择排序  简单选择排序是最简单直观的一种算法,基本思想为将序列分为有序序列和待排的无序序列,每一趟从后面n-i个待排数据元素中选择最小的一个元素作为有序序列的第i个元素,直到所有元素排完为止。  在算法实现时,每一趟确定最

2021-05-05 16:13:41 2099 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除