- 博客(24)
- 收藏
- 关注
原创 实验六、嵌入式Linux GUI编程实验
信号和槽是 QT 自行定义的一种通信机制,它独立于标准的 C/C++ 语言,因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。既然槽是普通的成员函数,因此与其它的函数一样,它们也有存取权限。你可以将很多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接,甚至于将一个信号与另外一个信号相连接也是可能的,这时无论第一个信号什么时候发射系统都将立刻发射第二个信号。
2023-06-09 22:14:16 671
原创 实验五、嵌入式Linux驱动编程实验
用户应用程序直接对硬件操作是非常复杂的,设备驱动程序作为内核的一部分,其作用就是让驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮询、中断处理、DMA 通信,进行物理内存向虚拟内存的映射等,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录文件和数据。在用户应用程序利用系统调用对设备文件进行操作时,系统调用首先通过设备文件的主设备号找到相应的驱动程序,然后读取这个结构体相应的函数指针,借着把控制权交给驱动的这个函数。而次设备号标识一个具体的物理设备。
2023-06-09 22:12:50 594
原创 实验四、嵌入式Linux串行通信实验
在串行传输中,发送方为了告诉接受方,新的数据字节分组到达,在每一个数据字节分组前面有一个起始位(通常为0),为了让接受方知道字节已经结束,在每一个数据字节分组后面有一个停止位(通常为1),接受方一旦检测到停止位,接受方会一直等待,直到下一个开始位。停止位,停止位是一帧数据结束的标志,可以是1bit、1.5bit或者2bit逻辑“1” 高电平,需要根据自己需求配置,每一个设备都有自己的时钟,在传输过程中可能出现了小小的不同步,停止位不仅仅表示传输的结束,并且提供了校正时钟同步的机会。奇偶校验位用于差错检测。
2023-06-09 22:11:14 538
原创 实验三、嵌入式Linux网络通信实验
5、监听套接字还是不完整的,它是一个没有源端插口地址的套接字,因此当有客户端连接到该服务器端的时候,就会与 监听套接字“组合”成一个完整的已连接套接字了(当然不是真的组合,可以这么来理解这个过程)。一旦建立连接,将产生新的套接字,此时就有两个套接字了,原来的那个套接字还在监听等待指定的端口,而新产生的套接字则准备发送或接受数据。4、好了,服务器端的套接字有本地插口地址了,这个套接字是用来监听的,也就是说这个套接字是用来监听是否有指向该服务器端的连接请求,由listen()函数将这个套接字变成监听套接字。
2023-06-09 22:08:57 195
原创 实验二、嵌入式Linux多线程编程实验
相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。也可以将线程和轻量级进程(LWP)视为等同的,但其实在不同的系统/实现中有不同的解释,LWP更恰当的解释为一个虚拟CPU或内核的线程。一般来说,信号量S>=0时,S表示可用资源的数量。上面已经介绍了,Linux进程模型提供了执行多个进程的能力,已经可以进行并行或并发编程,可是线程能够让你对多个任务的控制程度更好、使用资源更少,因为一个单一的资源,如全局变量,可以由多个线程共享。
2023-06-09 22:04:11 325
原创 实验一、嵌入式系统开发环境熟悉
交叉编译(或交叉建立)是这样一种过程,它在一种机器结构下编译的软件将在另一种完全不同的机器结构下执行。glibc 一个c 库,最终是以库的形式存在于编译器中,自然ARM所使用的glibc 库跟x86 同样也不一样,其它的依此类推。gcc-core:顾明之意是GCC的核心部分,这部分是只包含c的编译器及公共部分,而对其他语言(C++、Ada等)的支持包需要另外安装,这也是GCC为何如此强大的重要原因。Glibc:包含了主要的c库,这个库提供了基本的例程,用于分配内存,搜索目录,读写文件,字符串处理等等。
2023-06-09 22:02:00 210
原创 机票预订系统需求分析报告
本文档旨在明确机票预订系统的需求规格,为系统的开发、测试和验收提供指导。通过详细阐述系统的功能、性能、可靠性、安全性、易用性等方面的要求,确保系统能够满足用户和业务的需求,并达到预期的效果和质量。随着互联网技术和航空运输业的快速发展,机票预订系统已成为航空票务业务的主要方式之一。通过机票预订系统,用户可以方便地在线查询、预订和购买机票,避免了传统的排队等候和电话预订的不便,同时也可以享受更多的优惠和服务。本项目是一个全新的机票预订系统,旨在为用户提供更加便捷、快速、安全和舒适的机票预订服务。
2023-04-08 22:20:59 3155
原创 C语言大作业------汽车索赔管理系统
首先我必须学好c语言的基础知识,然后能在电脑上熟练的运用,上网的时候多看一些优秀的代码,看看别人怎么写,再结合自己的不足之处进行改正。,找出任意选项的索赔信息,修改该对应选项的索赔信息。开始系统调用update_claim_record()函数,先判断有无索赔记录,若没有则返回主函数,若有则输入索赔记录编号,遍历出对应编号显示出来,然后输入需要修改的内容,则修改成功。(2)能对输入的数据进行简单的校验,例如,维修日期必须是一个合法的日期格式,索赔编号是唯一的(一个索赔编号对应一次索赔的索赔信息)
2023-04-08 22:14:51 438
原创 Java笔记——数组
一、数组的定义1、基本概念定义:相同类型的数据统一聚拢在一起,他就是数组数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。【定义】:定义: int[] nums; 初始化: nums = new int[3]; 赋值: nums[0] = 1; nums[1] = 2; nums[3] = 3; //直接定义并初始化 int[] nums = {1,2,3}; //also int[] nums = new int[5]; int[]
2022-04-29 14:36:28 1106
原创 Servlet规范(1)——简单的Servlet建立
目录一、servlet1、什么是Servlet2、什么是servlet容器二、Servlet核心技术1、Servlet的生命周期2、实现一个Servlet一、servletservlet规范文档:Jakarta Servlet Specificationhttps://jakarta.ee/specifications/servlet/5.0/jakarta-servlet-spec-5.0.html#what-is-a-servlet1、什么是Servlet
2022-04-27 17:13:16 839
原创 Java笔记——方法详解
1、什么是方法System.out.println(),那么它是什么呢println() 是一个方法。System 是系统类。out 是标准输出对象。调用系统类 System 中的标准输出对象 out 中的方法 println()那么什么是方法呢Java方法是语句的集合,它们在一起执行一个功能。方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。方法的优点使程序变得更简短而清
2022-04-26 16:40:06 826
原创 uplode文件上传漏洞 18-20关
目录第十八关:解析漏洞第十九关:(/.)第二十关:白名单+构造数组绕过第十八关:解析漏洞原理:白名单允许7z文件(前期检测),但阿帕奇不能解析这个格式,所以把文件当作php解析关卡源码://index.php$is_upload = false;$msg = null;if (isset($_POST['submit'])){ require_once("./myupload.php"); $imgFileName =time(); $u
2022-04-22 17:37:25 2587
原创 初入python世界——python基础语法
python基础语法程序的格式框架缩进(Indent) Python语言采用严格的“缩进”来表明程序的格式框架。缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。 1个缩进 = 4个空格 缩进是Python语言中表明程序框架的唯一手段 当表达分支、循环、函数、类等程序含义时,在if、while、for、def、class等保留字所在完整语句后通过英文冒号(:)结尾并在之后进行缩进,表明后续代码与紧邻无缩进语句的所属关系。 注释 注释是代
2022-04-22 13:45:27 1102
原创 上传漏洞靶场:upload-labs 8-13关
目录第八关: :&data第九关:(点空点)第十关:双写绕过第十一关:白名单检测 00截断第八关: :&data利用windows系统下的NTFS文件的特性当我们访问tgf.php::$data时相当于访问tgf.php,仅限于windows靶场源码:上传一句话木马:并抓包增加::$data后缀 并放行访问图像地址,输入预先密码可访问phpinfo文件第九关:(点空点)原理:文件只会被过滤一...
2022-04-20 19:20:17 3796
原创 Java 笔记——流程控制——break & continue
1、break关键字break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。break 跳出最里层的循环,并且继续执行该循环下面的语句。【演示:跳出循环】import groovyjarjarantlr4.v4.codegen.model.SrcOp;public class BreaKDemo { public static void main(String[] args) { int i = 0; while ...
2022-04-16 16:56:29 192
原创 Java 笔记——流程控制——增强for循环
Java5 引入了一种主要用于数组或集合的增强型 for 循环。 Java 增强 for 循环语法格式如下:for(声明语句 : 表达式) { //代码句子 }声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。演示:增强for循环遍历输出数组元素package com.tang;public class ForDemo { public st
2022-04-16 16:54:01 236
原创 kali工具的使用
一、netcat简介与使用nc的全称为NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲,NetCat并不能产生UDP连接,因为UDP是一种无连接的协议。NetCat没有图形界面,很粗糙,很原始。Nc主要功能,Nc可以在两台设备上面相互交互,即侦听模式/传nc工具的下载及安装:下载:地址The GNU netcat - Browse
2022-02-28 12:35:24 5740
原创 day01 - java基础语法
1. Java概述1.1 Java语言发展史(了解)语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言Java之父:詹姆斯·高斯林(James Gosling)2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com当前,我们课程使用的JDK版本:11.01.2
2022-01-15 21:32:45 221
原创 Linux基础操作与配置(第一阶段2)
一、Linux基础命令终端:是一种特殊的字符设备,用来向计算机输入数据和显示计算机的输出,最早的终端是由teletype公司生产的一种电传打字机,它将从穿孔纸带读取的程序代码传送给计算机,将计算机的输出以纸质形式打印出来。后面慢慢演变成了控制台终端,提供系统管理接口的终端设备,读取管理员的操作指令,输出系统运行信息(应用程序、系统程序、内核等)1、常见基础指令在渗透中也不免遇到Linux系统服务器,那么对于linux的基础命令也需要知道。下面是linux的基础指令:查看身份指令:whoa
2022-01-14 20:43:46 364
原创 Web运行原理(第一阶段1)
一、网站是怎么搭建一个网站的搭建离不开服务器、中间件、数据库、代码、静态资源这五个部分1、服务器 一种管理计算资源的计算机,他比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。通常利用服务器操作系统来搭建网站。2、数据库按照数据结构来组织、存储和管理数据的仓库。...
2022-01-14 13:17:18 5346 2
交叉编译使用sqlite
2023-05-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人