- 博客(33)
- 收藏
- 关注
转载 【无标题】
对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)
2024-11-29 16:14:38
103
原创 C++/C的技术细节
1.++i要比i++效率高。原因:i++多了一个保存i自增之前副本的操作。欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加...
2020-06-28 09:02:35
503
原创 牛客网刷题总结(一)
1.出栈顺序已知某一个字母序列,把序列中的字母按出现顺序压入一个栈,在入栈的任意过程中,允许栈中的字母出栈,求所有可能的出栈顺序算法:1.首先我们对输入的字母序列进行字符的全排列(通过递归)2.然后在得到每一种排列的时候对其进行检验,判断是否为输入字母序列的弹出序列。...
2020-06-27 15:03:07
1232
1
原创 UNIX网络编程问题总结
第一章第一节 本书的第一个程序,daytimetcpcli.c,在运行时遇到了些问题。首先参考https://blog.youkuaiyun.com/u011068702/article/details/60970131配置好了静态库和unp.h文件。运行时出现:daytimetcpcli.c:(.text+0x4a): undefined reference to `err_quit'/usr/bin/ld: daytimetc
2020-06-18 18:42:02
320
原创 使用LINUX时遇到的问题总结
刚开始接触linux,把接触到的一些常用的问题和操作总结一下:1:怎么以root模式打开文件管理器?在命令行输入:sudo nautilus,输入root密码后会自动以root模式打开文件管理器。2. 虚拟机的有线连接变成灰色怎么办?通常是3.如何查询glibc库的版本号?方法1:运行 ldd --version方法2:运行 getconf -a方法3:运行 /lib64/libc.so.6方法4:运行 ls -l /lib64/ |grep libc查看软链接是否连接到最先版本4.如何
2020-06-16 22:32:47
619
原创 黑客攻防(一)网站信息收集
查询本机IP地址方式运行->cmd->输入ipconfig用ping 命令探测主机是否活动及探测操作系统类型:ping 192.168.xxx.xxx(IP地址)返回消息即表示主机在活动,否则表示关机或有防火墙根据TTL返回值,如果是UNIX类,则返回255,Windows则返回128.由域名得到网站的IP地址ping 域名,方便快捷先输入nslookup,再输入要探...
2019-12-09 17:27:07
665
原创 真随机与伪随机
真随机:即我们常见意义上的随机事件,事件发生的概率是独立的。例如抛硬币,每次出现1的概率都是1/6,与之前几次抛几次的结果无关。伪随机:真随机对于人类来说有些不近人情,例如在某些抽卡游戏中,如果是真随机的话,有些人运气不好,可能抽几百次也抽不到SSR。为了照顾人的感受,引入了伪随机。伪随机分为以下几类:(Pseudo Random Distribution)PRD,通常用于游戏中计算概率,...
2019-10-21 15:30:29
2636
原创 leetcode刷题总结(一)
链表类:1.Sort a linked list in O(n log n) time using constant space complexity.算法:用归并排序:1.快慢指针找中点2.建立头节点合并两端3.递归这个过程,递归退出条件为归并段只剩一个节点或不剩节点。2.Sort a linked list using insertion sort.算法:插入排序:1.建立头节...
2019-09-09 08:45:10
1861
原创 OJ输入输出格式
1.需要将10进制数转化为16进制或8进制输入输出时,可以用dec,oct,hex指明10进制,8进制,16进制。用法:cout<<hex<<78<<ends;即可把78转为16进制输出。输出时不会带0x,0等前置标志,但输入时必须输入相应的标志如果想让输出的16进制字母大写,则需要在hex前加上setiosflags(ios::uppercase),同时...
2019-09-05 14:22:24
409
原创 I/O子系统
I/O子系统是操作系统中负责和I/O设备打交道的子系统。I/O设备分为三类:字符设备:键盘,鼠标,串口块设备:磁盘等网络设备:通过报文交换信息CPU与I/O设备的交互方式;阻塞:发完请求必须等到设备返回结果非阻塞:发完请求就不管了异步:发完请求就不管,等到操作完成后得到告知。CPU与I/O设备的通信方式:轮询:CPU直接与I/O设备打交道,不通过中断设备中断:设备发...
2019-08-24 11:26:52
1227
原创 操作系统学习--文件系统
文件系统是操作系统中管理持久数据的子系统。文件系统的功能:分配磁盘空间管理文件集合数据可靠和安全文件描述符:操作系统在文件表中维护的表示文件状态信息的结构。包括:文件指针文件打开计数文件在磁盘的位置访问权限文件对用户来说就是一个持久的保存数据的结构,对操作系统来说,他就是个数据块的集合。当进程需要访问文件时,就去操作系统中读取相应的一整块数据块,然后进行操作。进程访...
2019-08-23 17:05:04
256
原创 操作系统学习--死锁与进程间通信
死锁:由于竞争资源或通信时,两个线程永远相互等待的事件。资源分类:可重用资源:资源不能被删除,任何时刻只能有一个进程使用,例如CPU,I/O设备等,可能出现死锁消耗资源:资源是被创建和销毁的,例如中断和通信,可能出现死锁。出现死锁的四个必要条件:互斥,某个资源在任意时刻只能有一个进程访问。持有并等待:进程保持至少一个资源,并等待由其他进程占用的资源非抢占:资源只要在进程使用结束后自...
2019-08-22 20:12:57
163
原创 操作系统学习--同步互斥
为什么要同步互斥?因为虽然并发机制提高了我们的系统整体的执行效率,但进程一直切来切去,也会导致进程运行的不确定性和不可重现性(由于某些操作不是原子操作),所以需要引入同步互斥机制。进程之间交互可能导致的几个问题:互斥:一个进程在使用资源时别的进程无法使用死锁:每个进程都占了部分资源,导致互相在等,成死循环饥饿:其他进程轮流占用资源,有一个进程始终得不到资源。临界区:进程中访问资源时...
2019-08-20 21:36:17
257
原创 操作系统学习--处理机调度
处理机调度:指当进程状态改变,比如从运行转为等待,处理机为了继续保持CPU的高使用率,会把其他需要执行的程序调到CPU中运行。调度的时机:对于非抢占系统,只能在当前进程主动放弃CPU时:运行的程序时间到了运行的程序由切换状态转到等待状态对于抢占系统,还有可能是有个优先级比较高的进程进入就绪状态了,这时也会发生处理机的调度处理机调度的目标:响应快:提交进程到运行时间短吞吐量高:...
2019-08-18 16:52:05
194
原创 操作系统学习--进程和线程
进程和程序的区别:进程是执行中的程序,除了程序之外还包括数据以及进程控制块进程控制块:进程标识信息进程控制信息:包括了进程状态信息,与其他进程的通信信息,进程所占的存储信息,调用系统资源的信息等,控制块所在链表的信息。现场保存的信息:内存地址,CPU状态,寄存器等信息进程控制块通过链表或索引表来组织进程的状态:创建执行等待抢占唤醒结束三状态进程模型:指就绪,执行和等待...
2019-08-18 12:35:51
205
原创 操作系统学习--虚拟存储
虚拟存储由于程序对于内存的需求越来越大,我们可以采用虚拟存储的方式来增加程序可用的内存量。内存不够时有三种解决方法:覆盖:在进程内部,互相没有调用关系的模块之间可以相互覆盖,只把正在运行的模块放入内存中。不足:1.模块间的逻辑关系需要知道 2.从外存读入会增加执行时间交换:把正在等待的整个进程移到外存中去,把内存交给需要运行的程序。不足:需要有动态重定位的进程才可以使用这种方式...
2019-08-17 16:50:30
284
原创 操作系统学习 启动,中断和物理内存管理
什么是操作系统:操作系统是应用程序和计算机硬件的中间层,确保资源的合理分配,方便用户更好的使用硬件。操作系统的组成:1.内核2.接口:命令行或GUI操作系统内核特征:并发:多个应用程序交替运行,需要OS调度共享:宏观上”同时访问“,微观上”互斥“虚拟:通过交替运行,使每个用户感觉整个计算机只为自己所用异步:用户输入一致的话,输出就一致...
2019-08-15 17:46:12
188
原创 计算机组成原理学习 第四章 存储器
第一节 存储器概述外存:指电脑中的各个磁盘,成本低容量大,非易失性存储器,永久存放系统中的所有数据,但不能之直接与CPU交互,需要先将程序送入内存中。内存:与CPU直接相连,存放需要执行的程序,是随机存贮的,成本高,容量小。第二节 内存RAMRAM是随机存取存储器,分为:SRAM静态存储器:用作Cache,很快很贵DRAM动态存储器:用作主存,慢很便宜第三节 内存ROMROM是...
2019-08-13 22:02:43
186
原创 计算机组成原理学习 第三章 系统总线
第一节 总线的概念计算机中有三大部件:CPU:用来执行各种指令,进行各种运算。主存:存储数据和程序。I/O设备,与外界进行交互。这三大部件之间或部件内部进行地址信息,数据,控制信息的交换,就需要总线了。第二节 总线的分类按照主线提供信息交换的层次,可以分为:内部总线:CPU内部寄存器和ALU之间连接的总线,只用来传输数据。系统总线:连接CPU,主存,I/O设备的总线,用来传...
2019-08-13 16:22:17
788
原创 学习C++及计算机网络时时遇到的问题
1.用telnet连接本地smtp.139.com服务器发送文件时,已经连接上服务器,并且输入了用户密码,但还是显示domain_notfound_error,原因未知。
2019-08-12 09:52:49
236
原创 计算机组成原理学习 第一章 第二章
本课程来自中国大学慕课网的 计算机组成原理第一节 冯诺依曼计算机冯诺依曼计算机的核心是存储程序,即把需要执行的程序先存储到计算机里,然后计算机自动抽出指令执行。冯诺依曼计算机的组成:输入设备存储器:不光能存储数据,还能存储指令。内部每条指令由二进制码标识,由操作码和地址码组成,操作码指示操作的类型,地址码指出要进行运算的数据的地址。控制器:能自动的取出指令,一条条的执行。运算器:执...
2019-08-10 15:28:59
1241
原创 学习计算机网络:自顶而下方法(第二章-应用层)
第一节应用程序体系结构:包括客户-服务器体系结构和P2P体系结构。进程:运行在端系统上的程序。套接字(socket)或应用程序编程接口(API):联系应用程序和网络的可编程接口。应用程序可能需要的运输服务:可靠数据传输:如邮件,文件,讯息等。可以发的慢,但不能有丢失的内容。吞吐量:传输数据的速率有最低要求,对带宽敏感的应用,比如视频通话,或者多人在线游戏。定时:对传输数据的时间有要...
2019-08-06 12:06:31
431
原创 使用telnet发送接收HTTP协议报文
参考:https://jingyan.baidu.com/article/5225f26bb8fc02e6fb090875.html在启用telnet客户端后,如果还无法使用telnet命令,则在环境变量里添加path C:\Windows\System32然后应该就能用了。猜测原因:telnet是定义在32位系统中的,启用了之后需要让64位的系统能找到它,所以就添加了这个指令。...
2019-08-03 17:37:48
2248
原创 学习计算机网络:自顶向下方法(第一章)
第一节 概述网络包括端系统和把它们连接起来的通信链路和分组交换机组成什么是协议:协议定义了两个或多个通讯实体之间,发送接受报文的格式和顺序,以及根据报文所采取的行动。类比于人类之间的聊天和问话。第二节 网络边缘接入网:把端系统连接到边缘路由器的网络。接入的方式:数字用户线DSL,把数字信号转为模拟信号用电话线的高频段传输,服务来自电话公司。电缆,用电缆接入因特网,服务来自有线电视公...
2019-08-03 15:17:09
187
原创 tinyXML源码刨析(下)--解析树的使用
在上一篇文章中分析了如何把XML文件解析为一棵树,现在就来分析一下tinyXML是如何利用这个树输出XML文件,以及更进一步的更改XML文件的内容的。
2019-07-31 14:28:53
288
原创 tinyXML源码刨析(上)--解析树的生成
各个文件之间的组织关系:tinyxml.h头文件写了几乎所有类的声明,与之对应的类的实现分别在tinyxml.cpp,tinyxmlerror,tinyxmlparser中。tinystr.h头文件中声明了tinyxml自己定义的字符串类(程序没有使用STL的string类),与之对应的类的定义在tinystr.cpp中。xmltest.cpp是测试程序,包含了tinyxml.h和tinys...
2019-07-30 10:59:18
473
原创 关于C风格字符串和string类型的分析
C风格字符串规定,字符串以字符数组的形式储存,必须以空字符‘\0’结束,以便用指针进行操作。在计算字符长度时这个空字符不算在内,但是它会占用内存空间所以如果给定了大小的字符数组,例如char a[5],就只有a[0],a[1],a[2],a[3],这4个位置能存储字符,而a[4]必须留给空字符’\0’。如果以单个字符储存的话,如char a[5]={‘a’,‘b’,‘c’,‘d’,’\0’}...
2019-07-24 09:33:24
320
原创 数据结构---图
图的分类:有权有向,有权无向,无权有向,无权无向;图的描述方法:邻接矩阵:用n*n的矩阵来描述点与点间的临界情况。有权图和无权图的区别是,A(i,j)A(i,j)A(i,j)>0表示i和j之间有一条边,而无权图中A(i,j)A(i,j)A(i,j)只能取0,1。无向图和有向图的区别是,有向图中矩阵是对称矩阵,即A(i,j)=1A(i,j)=1A(i,j)=1则A(j,i)A(j,i)A...
2019-07-23 10:31:15
411
原创 排序算法总结
时间复杂度为O(n2)O(n^2)O(n2)的排序算法:名次排序:n(n-1)/2次比较排出名次,n次交换排好序;选择排序:不断找出未排序元素中的最大值,将其移到数组末尾。找最大值的算法进行size-1次比较,总的比较次数为n-1+n-2+…+1=n(n-1)/2;冒泡排序:和选择排序类似,只是找未排序元素最大值的方法是“冒泡策略”,即从数组头部开始,不断比较相邻元素的,如果左边的元素大于...
2019-07-22 11:57:39
137
原创 matlab画热度图的技术问题及解决方法
问题:在用MATLAB画图热度图的过程中,用surf函数和pcolor函数画出来的图,导出成高分辨率的矢量图(如eps和pdf)之后,都会出现白色的网格线,这是MATLAB本身画图的问题,因为matlab用这两个函数画图是先画出每一小块然后拼接到一起的,所以会出现白线,无法避免。**解决方法:**改用contourf函数即可解决这个问题。欢迎使用Markdown编辑器你好! 这是你第一次使用...
2019-01-18 11:00:14
1787
原创 linux服务器使用心得
这次为了给师兄在服务器上跑程序,可是折腾了不少天。主要原因是服务器上的软件版本都太低了,所以需要在自己的目录下重新装一遍。由于是第一次接触linux服务器,装软件都花了好多时间,先装了好多个版本的matlab(因为程序对版本好像有要求,有的版本会报错),最终2015a版的可以用,但是由于要跑的程序是matlab,C混合编程的,所以还要用到C语言的编辑器-GCC,而服务器的版本又太低,所以又装了G...
2018-08-25 22:04:53
493
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人