自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 QT day8

【通信方式】单工:通信的两端只能单向传输数据,例如甲可以给乙发送数据,但是乙不能给甲发送数据。例如,广播、电视节目等。半双工:通信的两端可以双向传输数据,例如甲可以给乙发送数据,乙也能发送数据给甲,但是同一时刻无法同时发送和接收。实际上相当于两个方向的单工通信。例如,对讲机,军事通信等。全双工:通信的两端可以双向传输数据,例如甲可以给乙发送数据,乙也能发送数据给甲,而且同一时刻可以同时发送和接收。例如,电话、视频聊天等。【更换图标】阿里巴巴矢量图标库:https://www.ic

2021-07-29 10:20:01 253 1

原创 QT day7

【数据库(掌握)】【网络(掌握)】TCP(为主)UDPIP:用于找到网络中的主机Port: 用于找到某台主机上的通信程序 1 ~ 65535 2000+(不要使用6666和8888)在Qt中,网络与数据库一样默认无法使用,需要在.pro文件中手动添加network模块。QTcpServer:服务器类QHostAddress:IP地址封装类QTcpSocket:TCP连接类//服务器开启监听,等待客户端连接//参数一:接受的客户端ip地址,QHostAddre...

2021-07-29 10:09:54 270

原创 QT day6

【程序未响应(掌握)】程序默认只有一个线程,称之为主线程。主线程主要的功能是执行UI的更新和交互。如果在主线程中执行耗时操作,那么主线程后面的代码都要等耗时操作执行完后,才执行。这种现象也称为线程被阻塞了。当UI操作被耗时操作阻塞时,程序就会出现假死的现象。在假死状态如果选择关闭程序,操作系统如果检测到关闭的命令无法及时响应。就会出手干预,弹出程序未响应窗口,引导用户强制结束进程或者等待。解决的方法就是新开一个子线程,在子线程中执行耗时操作。在主线程中执行

2021-07-29 10:05:13 240

原创 QT day5

【两个类传参方式(重点)】一、构造函数传参二、成员函数传参例子:窗口1中有一个QDial和一个QPushButton,点击QPushButton后能跳转到窗口2,在窗口2中有一个QProgressBar,转动窗口1的QDial后,窗口2的进度条跟着动。三、信号槽传参例子:窗口1中有一个QProgressBar和一个QPushButton,点击QPushButton后能跳转到窗口2,在窗口2中有一个QDial,转动窗口2的QDial后,窗...

2021-07-29 09:55:38 227

原创 QT day4

【Qt数据类型(了解)】为了确保在各个平台上数据类型都有统一的长度,Qt自定义了一些基础的数据类型。这些数据类型可以确保Qt的跨平台特性。如果本身开发的程序不涉及跨平台特性,也可以不使用这些类型。【QDateTime(熟悉)】用于处理时间和日期。相当于QDate(日期)+QTime(时间)。//返回1970-1-1 00:00:00(格林威治时间)到现在为止的毫秒数qint64 QDateTime::currentMSecsSinceEpoch() [static

2021-07-29 09:54:06 150

原创 QT day3

【QTextBrowser(熟悉)】适合多次追加append的文本显示。带有一个可以拖动的进度条。【QLineEdit(掌握)】用于键盘输入字符。部分属性:text 文字maxLength 最大长度echoMode 回显模式(普通、无回显、密文、密文2)readOnly 只读,个人建议使用QWidget的enabled属性代替。placeHolderText 提示文字【QSpinBox(熟悉)】部分属性:minimum 最小...

2021-07-29 09:51:23 1227

原创 QT day2

(1)cd命令 changedirectory 改变路径 绝对路径:从头到尾打全面 相对路径:相对于当前目录下 . :当前目录 ..:上一级目录 cd .. :返回上级 cd -:返回上次改变路径的操作的那个路径下 回家目录: cd cd ~ cd /home...

2021-07-29 09:40:03 137

原创 QT学习 day1

吴昊 Jason Wu面向对象 + GUI重点:必须会(不需要查阅资料),面试(考试)大概率问到。掌握:必须会(不需要查阅资料),面试(考试)有可能问到。熟悉:查阅文档会。了解:知道有这么回事能吹几句。【Qt是什么(熟悉)】Qt是一个GUI(图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口))框架。GUI并不是Qt的全部。Qt除了可以制作可视化用户界面外,还有很多其它的功能:多线程、数据库、图像处理、音视频处理、网络通信、文件IO.

2021-07-19 20:51:22 529

原创 Linux嵌入式开发学习 c++:day5

【私有继承】基类的public成员和protected成员被继承后作为派生类的私有成员。默认的继承是私有继承。为了保证基类的部分外部接口特征能够在派生类中也存在,就必须在派生类中国重新定义同名的成员函数(重载)。【保护继承】基类的public和protected成员都以保护成员的身份出现在派生类中。保护级别的成员,除了自己的类内可以访问以外,其派生类也可以访问。【多态】首先来看面向对象(OOP)的三大特征:封装wrap:实现细节隐藏,使得代码模块化。把成员..

2021-07-17 10:49:12 325 1

原创 Linux嵌入式开发学习c++:day4

【string构造函数和析构函数】string类的构造函数和析构函数如下:a)string s;//生成一个空字符串sb)string s(str) //拷贝构造函数 生成str的复制品c)string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值d)string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值e)...

2021-07-17 10:41:01 251

原创 Linux嵌入式开发学习.c++:day3

【命名规范】参考Google C++团队,仅供参考。1.文件命名规则文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。比如:cmd_save_player_info_class.cppmy_use_full_class.h2. 类命名规则类命名每个单词首字母大写(帕斯卡命名法,也成为大驼峰命名法),不使用下划线。同时也应用于结构体、枚举等。3. 变量命名规则变量名一律小写,单词使用下...

2021-07-17 10:38:25 298 1

原创 Linux嵌入式开发 C++:day2

面向对象三大特征:封装、继承、多态【编程语言的发展】机器语言汇编语言高级语言面向对象的语言【面向对象的特点】1. 将操作的事物看成对象(万物皆对象)2. 不需要自己亲自去做事,而是直接调用对象的行为完成需要的操作3. 简化复杂的分布操作,提高编程效率【类和对象】类:一个同样性质的一群对象的共性,抽象成一个概念,这个概念作为判断某个个体是否属于这个类的依据。(人类,猫类,狗类)对象:某个类实际存在的个体。是抽象概念(类)的具象化。

2021-07-13 16:21:03 422 5

原创 Linux嵌入式开发 C++学习:day1

C++:在C的基础上增加面向对象的思想【C++简介】1983年,贝尔实验室(Bell Labs)的Bjarne Stroustrup发明了C++。 C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。Stroustrup说:“这个名字象征着源自于C语言变化的自然演进”。还处于发展完善阶段时被称为“new C”,之后被称为“C with Class”。C++被视为C语言的上层结构,1983年Rick Mascitti建议使用C++这个名字,就是源于C语言中的“++

2021-07-09 17:26:59 652

原创 Linux 嵌入式开发学习day6:数据库操作图文详解

【1】 UNIX域套接字本地的进程间通信ssocket前5天的内容TCP,UDP 都是依赖IP 端口号进行通信的struct sockaddr_in serveradd; //网络信息结构体internetunix域套接字编程,实现本间进程的通信,依赖的是s类型的文件;服务器端:1. socket(AF_UNIX, SOCK_STREAM, 0)...

2021-07-07 16:51:24 288 1

原创 Linux 嵌入式开发学习 网络编程day5:(包含前四天整理)。

【问题汇总】1、服务器和客户端的函数参数 返回值 不太理解TCPUDPtcp服务器端:1. socket();功能是创建文件描述符,用于连接sockfd;参数:a. AF_INETIPv4b. 协议类型SOCK_STREAMTCPSOCK_DGRAMUDP...

2021-07-06 22:26:19 480 8

原创 Linux 嵌入式开发 网络编程: day4

【1】IO多路复用(并发服务器)想实现服务器处理多个客户端连接请求或数据收发的话,(实现并发)1. 多进程的方式;2. 多线程的方式;3. IO多路复用a. select弊端: 1. 一个进程最多只能监听1024个文件描述符 (千级别)2. select是一种轮询的机制;3. 涉及到用户态和内核态的数据拷贝;...

2021-07-05 08:42:24 156

原创 Linux 嵌入式开发学习 网络编程:day3

阻塞函数 读:read,recv,recvfrom 写:write,send 其他:accept,connect【1】int stat(const char *restrict path, struct stat *restrict buf);获取文件属性判断文件类型:#define S_ISLNK(m)(((m) & S_IFMT) == S_IFLNK)#define S_I...

2021-07-05 08:41:09 180

原创 Linux 嵌入式开发 学习 网络编程:day2

【1】connetint connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);功能:用于连接服务器;参数:sockfd:socket函数的返回值addr:填充的结构体是服务器端的;addrlen:结a构体的大小返回值s-1 失败...

2021-06-30 18:36:59 203 1

原创 Linux嵌入式式开发 学习 网络编程:day1

VNC192.168.1.31【1】IP分类(主机cmd—>ipconfig)192.168.1.31C类 ,点分十进制IPC0A8011F4*8 = 32位104.243.29.189IP分类:网络号+主机号A类:0第1字节为网络地址,其他3个字节为主机地址。第1字节的最高位固定为0;...

2021-06-30 18:34:26 219

原创 Linux嵌入式开发学习 数据结构:day3

【栈】只允许在一端进行操作的线性表,允许操作的一端叫栈顶(top)另一端叫栈底.由于只能在一端进行操作,所以栈的特点是先进后出(FILO)(LIFO)栈操作:1.创建空栈2.入栈(压栈)3.判断满栈(顺序结构)4.判断栈是否存在5.遍历栈6.判断空栈7.出栈(弹栈)8获取栈顶元素9.清空栈10.销毁栈【顺序栈】顺序存储的栈栈结构体的构建struct stack{ int top;//标识栈顶元素的下标 datatype *data;//指向顺序栈空间首地址...

2021-06-24 19:39:56 118 2

原创 Linux嵌入式开发学习 数据结构:day4

【队列】只允许在两端进行操作的线性表,允许出队的一端叫队头,允许入队的一端叫队尾,由于队列只允许在两端进行操作,队列的特点是先进先出(FIFO\LILO)队列操作:1.创建队列2.入队3.判断队列是否为满(顺序结构)4.队列是否存在5.遍历队列6.判断队列是否为空7.出队8.清空队列9.销毁【顺序队列】顺序存储的队列,又叫循环队列,对于队列来说先进先出,顺序队列通过队尾入队,队头出队,当队尾元素到最大下标位置时无法再入队,否则会出现内存溢出,这里叫“假溢出”,队头出队,出

2021-06-24 19:38:01 121

原创 Linux嵌入式开发学习 数据结构:day2

链表】链式存储的线性表,可以完成增删改查等操作节点内部分为数据域和指针域,数据域用来存放当前节点数据指针域则用来和前后节点产生联系链表分类:按照指针域的数据进行划分: 单向链表和双向链表根据最后一个节点的next数值划分: 循环链表和不循环链表根据有无头节点: 有头链表和无头链表 有头链表:第一个节点数据域无效,指针域有效 无头链表:第一个节点指针域和数据域均有效 有头单向链表和双向链表单向链表节点结构体的构建: struct...

2021-06-23 08:51:38 94

原创 Linux嵌入式开发学习 数据结构:day1

为什么要学习数据结构学习编程语言是为了写代码进而实现目的,学习数据结构是为了简洁高效的写程序解决实际问题需要考虑:数据如何输入到计算机并且在计算机中以何种形式存储:数据结构如何根据计算机中的数据进行处理:算法程序=数据结构+算法【数据结构】数据:能够输入到计算机并且被计算机处理的信息的总和结构:数据与数据之间的关系数据元素:类似于一个集合的概念,数据总和里的一个个体,是数据 的基本单位数据项:数据有意义的最小单位节点:数据元素又被称为节点数据结构:数据的逻辑结构...

2021-06-21 22:42:34 134

原创 用C基础做简单的学生管理系统源代码

#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct{ int id; char name[15]; float score;}student_t;typedef struct{ int n; student_t stu[30];}class_t;enum{ ADD=1, DEL, SHOW,...

2021-06-17 20:19:27 145

原创 Linux C语言学习 day5: 进程间的通信方式

【1】复习 线程:基本概念和特点: 创建线程:pthread_create 线程退出:pthread_exit 线程阻塞:pthread_join gcc xx.c -lpthread 同步:多个线程按照约定的顺序 信号量 初始化:sem_init p操作:申请资源sem_wait v操作: 释放资源sem_post 互斥:多个线程执行时只能有一个线程来访问临界资源 互斥锁 初始化:pthread...

2021-06-17 20:12:29 331

原创 Linux C语言学习 IO:day6 共享内存,信号灯级,消息队列

【1】复习进程间通信方式无名管道:具有亲缘关系的进程有固定读端fd[0]和写端fd[1]pipe(fd)在内存中的3-4g的内核空间管道中没有数据,读阻塞管道中数据满了,写阻塞,有名管道:两个不相干的进程在文件系统中存在管道文件名mkfifo->open->read/writeO_WRONLY:写阻塞O_RDONLY:读阻...

2021-06-17 08:25:36 382

原创 Linux学习 IO进程与线程: day4

【复习】库:可执行代码的二进制形式静态库:编译时动态库(共享库):运行时便于复用进程:和程序的区别:三段:数据段、正文段、堆栈段分类:交互进程、批处理、守护进程状态:运行态R、等待态、暂停态T、死亡态x、僵尸态Z命令:ps -aux/-ef、top、kill、bg\fg函数:fork、wait/waitpid、exit/_exit、execvpe守护进程:1.fork 2.setsid 3.chdir...

2021-06-11 09:02:35 407

原创 Linux C语言学习 IO进程 :day3

【1】库 1.定义:本质上来说库是一种可执行代码的二进制形式; 通俗讲就是把一些常用函数的目标文件打包在一起,提供相应 函数的接口,便于程序员使用;它可以被操作系统载入内存执行。 由于windows和linux的本质不同,因此二者库的二进制是不兼容的 2.库的分类: 1)静态库:静态库在程序编译时会被连接到目标代码中, 程序运行时将不再需要该静态库,因此体积较大。 2)动态库在程序编译时并不会被连接到目标代码中, 而是在程序...

2021-06-10 08:20:43 557

原创 Linux C语言学习 IO进程:day2 文件IO的各种函数

【1】复习:通过标准IO操作文件的流程:1. 打开文件:fopen/freopen FILE *fp; fopen(path, mode);2. 读写操作:流 1)每次一个字符的读写 fgetc fputc 2)每次一行的读写 fgets fputs fgets(buf, size, fp); 3)直接IO fread fwrite3. 关闭文件 fclose练习:测试标准输出缓存...

2021-06-08 21:30:48 231

原创 Linux C语言学习 新篇章 IO进程:day1

【1】标准IO 1. 概念: 标准IO是指在C库中提供的一组专门用于输入输出的函数 2. 特点: 不仅在UNIX系统,在很多操作系统上都实现了标准I/O库 标准I/O库由ANSI C标准说明 标准I/O通过缓冲机制减少系统调用,实现更高效率 标准I/O在系统调用函数基础上构造的,它便于用户使用 标准IO默认打开了三个流:stdin、stdout、stderr 3. FILE:(文件流指针) 每个被使用的文件都在内存中开辟...

2021-06-07 21:03:07 184 1

原创 Linux学习C高级:day6

linuxC高级_day6【1】gcc编译步骤1)预处理处理与#有关的代码gcc -E xxx.c -o xxx.i2)编译将预处理之后的文件编译生成汇编文件,检查代码规范性和语法错误。不是完全的汇编代码,是经过优化的汇编gcc -S xxx.i -o xxx.s3)汇编将汇编语言编译成不可执行的二进制文件(机器语言)gcc -c xxx.s -o xxx.o4)链接把不可执行的二进制文件编译成可执行的二进制文件gcc xxx.o -o xxx【2】gdb调试--- xxgd.

2021-06-03 15:59:05 66

原创 Linux学习C高级:day5

linuxC高级_day5【1】 shell函数1.函数的定义方式1) 函数名() { 命令1 ... 命令n }2) function 函数名() { 命令1 ... 命令n return; }* 注意: 1.function是函数的声明 2. shell函数没有参数列表 可以通过位置变量接收参数 3. shell函数...

2021-06-02 21:22:39 59

原创 Linux学习c高级:day4:shell脚本语句

linuxC高级_day4【1】 结构性语句1. if..then..fi 1)基本结构 if 表达式 then 命令表 fi 2)分层结构 if 表达式 then 命令表1 else 命令表2 fi 3)嵌套结构 if 表达式 then 命令表 else if 表达式 then 命令表 fi f...

2021-06-01 18:43:09 186

原创 Linux学习c高级:day3 — shell脚本

linuxC高级_day3【1】shell脚本1. 本质: shell命令的有序集合 不需要编译的 直接由bash来解析执行2. shell脚本的语句三类: 说明性语句 功能性语句 结构性语句1)说明性语句 以#开头的 不会被解释执行 相当于注释2)功能性语句 shell命令 用户程序3)结构性语句 多路分支 循环 控制 条件测试【2】shell脚本创建步骤 1. touch xxx.sh 2. #!/bin/bash --- 告诉你的linux使用的...

2021-06-01 08:32:30 295

原创 linux学习:图书管理系统

#include<stdio.h>typedef struct{ int id; char name[20]; float price;}book;void func(book *p);void paixv(book p[]);void chakan(book *p);int main(int argc, const char *argv[]){ book bk[5]; int i,f; printf("请输入书籍信息(编号、书名、...

2021-05-28 20:52:04 1712

原创 Linux学习c高级:day2

linuxC高级_day2学生管理系统:1.添加 2.查询 3.删除 4.排序 5.查找 6.退出1. 向班级里添加学生 -- 班级、学生2. 输入学生的名字可以删除学生(重名一起删除)删除学生之后后面的学生要移动到前面来3. 排序 按照学生成绩排序4. 输入学生的姓名可以修改学生的年龄和成绩 -- 学生结构体:年龄 成绩5. 查找 输入姓名 显示信息学生结构体:typedef struct{ char name[15]; int age; float s...

2021-05-28 20:50:02 335

原创 Linux学习新篇章C高级:day1

Linux C高级【0】 自我介绍: 浦 课堂氛围: 无代沟 有问题直接说 多尝试【1】 授课任务 5-6天1. Linux系统命令 补充 全面2. shell脚本 和C一致是个独立的语言 稍微有难度(C逻辑)规矩3. C高级 - 学生管理系统 强化结构体4. makefile (读懂) GDB(调试)【2】 怎么学习LinuxC高级1.写笔记 dpkg -i -s -P2.加强记忆3.笔试占的比例比较大【1】什么是嵌入式? 你自己的理解 感悟(软硬结合 -- 举例子 ...

2021-05-27 19:24:39 529

原创 Linux C语言学习day12:终章:共用体,枚举

【1】共用体概念:不同数据类型的数据使用共同的存储区域,这种数据构造类型称为共用体,又称联合体。定义格式: union { 成员列表; };例如: union data { char cval; int ival; float fval; };共用体类型变量定义: (1)先定义共用体类型,后定义变量。 union data { ch...

2021-05-25 14:01:08 203

原创 Linux C语言学习day11:递归与结构体

【1】递归函数 1.概念:自己调自己的函数 2.注意: 递归函数需要有终止条件 3.递归函数调用的执行过程分为两个阶段: 递推阶段:从原问题出发,按递归公式递推从未知到已知,最终达到递归终止条件。 回归阶段:按递归终止条件求出结果,逆向逐步代入递归公式,回归到原问题求解。 递推阶段:古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知,致知在格物。 回归阶段...

2021-05-24 19:51:38 535

原创 Linux C语言学习day10:函数与指针

【1】函数执行过程 程序的入口:main函数 从main函数开始执行,执行过程中遇到函数调用,暂停保护当前现场, 然后跳转到子函数执行,当子函数执行完毕之后,返回主函数恢复现场继续执行。 注意: 1)当函数被调用时,形参才被分配空间,把实参的值传递给形参。 2)形参和实参的个数和数据类型必须保持一致。 3)实参必须要有确定的值。 写一个函数strnum,参数为一个字符,一个char *类型。 要求函数返回值为...

2021-05-21 18:14:07 158

空空如也

空空如也

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

TA关注的人

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