- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 Qt5.12自定义QSqltablemodel。
针对有我们想显示数据库中的其中几列并不需要全不显示,所以根据源码自定义我们自己的selectstatement函数源码路径:C:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\sql\models
2021-06-08 16:31:08
968
原创 Linux多线程开发--线程概念描述
线程基本概念:LWP : light weight process 轻量级进程,本质仍是线程(在linux环境下,因为本身linux进程管理就很完善了,与windows环境下,两者线程原理完全不一样)进程: 独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。Linux下: 线程:最小的执行单位。 进程: 最小分配资源单位,可以看成只有一个线程的进程。如图所示简单的PCB构成:Linux内核线...
2021-01-05 22:16:00
175
原创 linux信号机制
大纲:信号概念基本属性信号四要素产生信号五种kill函数alarm函数setitimer函数 是alarm进化版 可以精确定时信号集操作函数信号屏蔽字未决信号集信号的捕捉注册信号捕捉函数sigaction函数(重点)信号的机制:信号原理类似时钟中断。A给B发送信号,当B收到信号之后,不管执行到什么位置,都要暂停去处理信号,处理完毕再去继续执行,与硬件中断类似,异步模式,但是信号是软件层面上的中断,早期常被叫做软中断,所有具有很强的..
2021-01-01 22:36:28
223
1
原创 Linux 无血缘关系进程通信
实质上mmap是内核借助文件帮我们创建了一个映射区,多个进程之间利用该映射区完成数据传递,由于内核空间多进程共享,因此无血缘关系的进程之间,也可以使用mmap来进行通信,只要设置相应的标记位flag即可。标记位使用MAP_SHARED.实例代码:写入进程代码:#include<sys/types.h>#include<fcntl.h>#include<unistd.h>#include<stdlib.h>#include<s.
2021-01-01 16:05:34
605
原创 Linux进程通信 mmap_父子进程间通信
三个硬链接 指向同一个inode,文件删除的 unlink的时候 实际上删除的是这三个目录项的其中一个,文件实际并没有删除,文件要删除只有等到,该机器所有占用该磁盘文件的进程结束才可以。MAP_PRIVATE:(私有映射) 父子进程各自独占映射区MAP_SHARED:(共享映射) 父子进程共享映射区①父子进程共享打开的文件 ②父子进程共享mmap建立得映射区,但必须使用MAP_SHARED...
2021-01-01 00:03:55
157
原创 Linux管道通信笔记
概述:管道 进程通信管道 使用最简单信号 开销最小共享映射区 无血缘关系本地套接字 最稳定 难度最强pipe 函数 未名管道管道一般读写行为fifo 有名管道用于非血缘关系进程通信共享内存mmap 函数的参数使用注意事项用于非血缘关系进程通信linux 文件类型- 文件d 目录l 符号链接s 套接字b 块设备c 字符设备p 管道前三种占用磁盘存储后四种 为 伪文件 实质是一个内核缓冲区由两个文件描述符引用,一个表示读端,一个表示写端规定数据..
2020-12-30 22:14:40
473
原创 Linux 下 使用 vim vi 切换manpage 手册
参考博客:https://blog.youkuaiyun.com/qq_43666528/article/details/103764417?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.contr
2020-12-30 16:07:49
702
转载 zhedapat1002
自身水平低写不出来,没把题读清 ,搞清楚各个变量的取值范围 , 但是自己写的代码可以通过他的例子, 思想就是两个集合的并集 ,就是不太明白为什么编译不过去完全过不了#include#includeusing namespace std;//typedef struct P{ int K;//1,2,3,..,10 int e[10];//1~1000 float a[10];}P
2017-02-26 19:50:59
222
原创 zhedapat1001
考虑几个关键点和为0 正负数即可#includeusing namespace std;int main(){ int a, b, i = 0; bool c(false); short t[6]; while (cin >> a >> b) { int sum = a + b; if (sum < 0)c = true; else if
2017-02-26 16:37:31
290
原创 循环队列
课程来源mooc西北大学数据结构基本思路 取模运算 判空条件front==rear判满条件 (rear+1)%MAXSIZE==front队列长度 ① rear>frontrear-front个① rear(rear-front+MAXSIZE)%MAXSIZE综上 个数等于(rear-front+MAXSIZE)%MAXSIZEtypedef
2017-02-01 01:41:42
205
原创 链队列基本操作
typedef struct QueueNode{ int data; struct QueueNode *next;}QueueNode,*PQueueNode;typedef struct QueueL{ PQueueNode front;//Queue head 头部 PQueueNode rear;//Queue rear 尾部}Queue,*PQueue;void
2017-01-31 17:12:47
334
原创 栈的应用----括号匹配问题
借鉴于MOOC西北大学数据结构视频参考typedef struct Stack{char ch;Stack* next;}Stack,*PStack;单向链式存储结构void PushStack(PStack stack, char* str) //左括号入栈{PStack Top = new Stack;Top->ch = *str;Top->
2017-01-24 18:23:07
336
原创 顺序存储的双栈共享
来源mooc西北大学视频教程一 建栈操作 #define SMax 10typedef struct Stack{int Data[SMax];int Top[2];}Stack,*PStack;Data栈存储数据域,SMax是共享栈的大小,Top[0]是底栈栈顶指针,Top[1]是顶栈栈顶指针。二 初始化栈。void StackInit(PStack
2017-01-22 15:50:53
441
原创 链表应用----二进制数加1进位表示链表存储
问题描述:建立一个带头结点的线性链表,用以存放输入的二进制数,链表的每一个data域存放一个二进制位,并在此链表上实现对二进制数加1的运算。问题分析如图:
2017-01-19 21:38:26
978
原创 链表------------------单向链表的建立跟遍历
单向链表的建立与遍历typedef struct Snode{ int data; Snode *next;}Snode,*PSnode;void CreateList(PSnode &head){ int n; PSnode p,q; head=new Snode; head->data = 0; head->next = NULL;//Initial node
2017-01-19 20:43:55
301
oepngl第九版源码加环境配置 vs2017
2018-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人