2009年2月发布KeiluVision4,KeiluVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的ARM芯片,还添加了一些其他新功能。
2011年3月ARM公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeiluVision4,其编译器、调试工具实现与ARM器件的最完美匹配。
2025/2/24 3:20:24 64B Keil 单片机
1
Unix/Linux编程实践教程.PDF,作者:BruceMolay(美),翻译:杨宗源、黄海涛,出版:清华大学出版社。
内容预览:第一章Unix系统编程概述1.1介绍1.2什么是系统编程1.2.1简单的程序模型1.2.2系统模型1.2.3操作系统的职责1.2.4为程序提供服务1.3理解系统编程1.3.1系统资源1.3.2目标:理解系统编程1.3.3方法:通过三个问题来理解1.4从用户的角度来理解Unix1.4.1Unix能做些什么1.4.2登录-运行程序-注销1.4.3目录操作1.4.4文件操作1.5从系统的角度来看Unix1.5.1用户和程序之间的连接方式1.5.2网络桥牌1.5.3bc:Unix的计算器1.5.4从bc/dc到Web1.6动手实践1.7工作步骤和概要图1.7.1接下来的工作步骤1.7.2Unix的概要图1.7.3Unix的发展历程小结第二章用户、文件操作与联机帮助:编写who命令2.1介绍2.2关于命令who2.3问题1:who命令能做些什么2.4问题2:who命令是如何工作的2.5问题3:如何编写who2.5.1问题:如何从文件中读取数据结构2.5.2答案:使用open、read和close2.5.3编写whol,c2.5.4显示登录信息2.5.5编写who2.c2.5.6回顾与展望2.6编写cp(读和写)2.6.1问题1:cp命令能做些什么2.6.2问题2:cp命令是如何创建/重写文件的2.6.3问题3:如何编写cp2.6.4Unix编程看起来好像很简单2.7提高文件I/O效率的方法:使用缓冲2.7.1缓冲区的大小对性能的影响2.7.2为什么系统调用需要很多时间2.7.3低效率的who2.c2.7.4在who2.c中运用缓冲技术2.8内核缓冲技术2.9文件读写2.9.1注销过程:做了些什么2.9.2注销过程:如何工作的2.9.3改变文件的当前位置2.9.4编写终端注销的代码2.10处理系统调用中的错误小结第三章目录与文件属性:编写ls3.1介绍3.2问题1:ls命令能做什么3.2.1ls可以列出文件名和文件的属性3.2.2列出指定目录或文件的信息3.2.3经常用到的命令行选项3.2.4问题1的答案3.3文件树3.4问题2:ls是如何工作的3.4.1什么是目录3.4.2是否可以用open、read
1
1.两个串相等的充要条件是()。
A.串长度相等B.串长度任意C.串中各位置字符任意D.串中各位置字符均对应相等2.对称矩阵的压缩存储:以行序为主序存储下三角中的元素,包括对角线上的元素。
二维下标为(i,j),存储空间的一维下标为k,给出k与i,j(i<j)的关系k=()(1<=i,j<=n,0<=k<n*(n+1)/2)。
A.i*(i-1)/2+j-1B.i*(i+1)/2+jC.j*(j-1)/2+i-1D.j*(j+1)/2+i3.二维数组A[7][8]以列序为主序的存储,计算数组元素A[5][3]的一维存储空间下标k=()。
A.38B.43C.26D.294.已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是()。
A.108B.180C.176D.1125.下面()不属于特殊矩阵。
A.对角矩阵B.三角矩阵C.稀疏矩阵D.对称矩阵6.假设二维数组M[1..3,1..3]无论采用行优先还是列优先存储,其基地址相同,那么在两种存储方式下有相同地址的元素有()个。
A.3B.2C.1D.07.若Tail(L)非空,Tail(Tail(L))为空,则非空广义表L的长度是()。
(其中Tail表示取非空广义表的表尾)A.3B.2C.1D.08.串的长度是()。
A.串中不同字母的个数B.串中不同字符的个数C.串中所含字符的个数,且大于0D.串中所含字符的个数9.已知广义表((),(a),(b,c,(d),((d,f)))),则以下说法正确的是()。
A.表长为3,表头为空表,表尾为((a),(b,c,(d),((d,f))))B.表长为3,表头为空表,表尾为(b,c,(d),((d,f)))C.表长为4,表头为空表,表尾为((d,f))D.表长为3,表头为(()),表尾为((a),(b,c,(d),((d,f))))10.广义表A=(a,b,c,(d,(e,f))),则Head(Tail(Tail(Tail(A))))的值为()。
(Head与Tail分别是取表头和表尾的函数)A.(d,(e,f))B.dC.fD.(e,f)二、填空题(每空2分,共8分)。
1.一个广义表为F=(a,(a,b),d,e,(i,j),k),则该广义表的长度为________________。
GetHead(GetTail(F))=_______________。
2.一个n*n的对称矩阵,如果以行或列为主序压缩存放入内存,则需要个存储单元。
3.有稀疏矩阵如下:005700-300040020它的三元组存储形式为:。
三、综合题(共22分)。
1.(共8分)稀疏矩阵如下图所示,描述其三元组的存储表示,以及转置后的三元组表示。
0-30004060000007015080转置前(4分):转置后(4分):2.(共14分)稀疏矩阵M的三元组表如下,请填写M的转置矩阵T的三元组表,并按要求完成算法。
(1)写出M矩阵转置后的三元组存储(6分):M的三元组表:T的三元组表:ije2133244254
1
用IMU的数据进行机器人位置和姿态的估计,比如acc或者gyro积分每个sample怎么进行坐标变换,怎么由rawdata得到位置和姿态信息的计算细节等。
Inrecentyears,microelectromechanicalsystem(MEMS)inertialsensors(3Daccelerometersand3Dgyroscopes)havebecomewidelyavailableduetotheirsmallsizeandlowcost.Inertialsensormeasurementsareobtainedathighsamplingratesandcanbeintegratedtoobtainpositionandorientationinformation.Theseestimatesareaccurateonashorttimescale,butsuerfromintegrationdriftoverlongertimescales.Toovercomethisissue,inertialsensorsaretypicallycombinedwithadditionalsensorsandmodels.Inthistutorialwefocusonthesignalprocessingaspectsofpositionandorientationestimationusinginertialsensors.Wediscussdierentmodelingchoicesandaselectednumberofimportantalgorithms.Thealgorithmsincludeoptimization-basedsmoothingandlteringaswellascomputationallycheaperextendedKalmanlterandcomplementarylterimplementations.Thequalityoftheirestimatesisillustratedusingbothexperimentalandsimulateddata.
1
本测试程序采用Qt写的界面,版本Qt5.9.4。
主要实现上位机软件与真实PLC(S7-1200)通讯。
针对不同指令测试,如果需要根据自己的需求,代码中已经写好了注释,在什么位置修改。
源码有几处可以优化的地方。
2025/2/15 1:43:09 95KB Qt界面
1
1.异步电机模型和控制框图2.同步电机模型和控制框图3.统一控制模型4.VF框图5.PMSM磁极检测6.PMSM启动算法7.死区补偿算法8.位置环设计9.电流采样优化10.PI调节器设计
2025/2/13 7:07:17 5.97MB 异步电机
1
对应教学视频在B站上(博主B站名:Nydxsst)该教程将会教学从零开始画出一块stm32最小系统板并发送工厂打板此教程用的AD17,不过其他版本的也可以学习,只是会有一些操作的位置不同,由于没有录音工具,需要表达的东西将会以文字的形式展现
2025/2/13 5:17:28 61.4MB Altium stm32最
1
FreeBatchPhotoResizer是一个非常简单方便的Windows软件,用于以批处理模式调整数码照片的大小。
您可以指定新的像素尺寸以及百分比值。
您还可以通过指定边框的大小来调整照片的大小。
批量调整图片尺寸工具FreeBatchPhotoResizer中文版批量调整图片尺寸工具FreeBatchPhotoResizer中文版添加多张图片批处理文件处理支持同时修改其尺寸手动修改多张图片的大小可能是一项耗时且烦人的工作。
还有另一种方法可以更快,更轻松地获得相同的结果:使用专用的批量照片调整大小软件,例如FreeBatchPhotoResizer。
普通用户界面您可以直接从主窗口访问此有用程序的功能,因为它具有简单明了的界面,没有隐藏的菜单或选项。
将图像添加到应用程序后,您可以查看与文件名和位置有关的详细信息。
缺点是,FreeBatchPhotoResizer不支持拖放文件,因此访问内容的唯一方法是通过界面功能。
支持的文件类型很少尽管此实用程序可以一次处理多张照片,但是由于FreeBatchPhotoResizer仅提供对BMP,PNG和JPG文件类型的大小调整支持,因此缺少兼容的格式。
您可以在指定的框中输入新的所需尺寸参数,然后选择值是以像素还是百分比表示。
可以通过切换相应的选项来保持原始的宽高比。
配置所需的值后,您可以选择输出目标文件夹,应用程序可以开始相应地修改图片大小。
最后一个过程将打开一个新窗口,您可以在其中查看操作的进度条。
基本批量大小调整器除了提供批处理文件大小调整支持之外,在创新方面,与其他基本图像编辑工具(例如Windows的本机画图)相比,FreeBatchPhotoResizer没有其他功能。
此外,画图甚至还支持多种文件类型。
综上所述,FreeBatchPhotoResizer可以为您提供基本的调整大小功能,同时允许您一次处理多个文件。
但是,格式兼容性仅限于BMP,PNG和JPG,而不支持拖放操作。
2025/2/11 10:20:03 290KB 批量调整图片尺寸工具
1
滑块验证码是一种常见的网络安全机制,用于防止自动化程序(如机器人或爬虫)对网站进行恶意操作,例如批量注册、刷票等。
它通过要求用户手动拖动一个滑块来完成图像拼接,验证用户是真实的人而非机器。
在本文中,我们将深入探讨如何使用易语言实现这样的滑块验证码。
易语言是一款国产的、面向对象的编程语言,其设计目标是让编程变得简单易学。
在易语言中实现滑块验证码涉及以下几个关键知识点:1.**图形图像处理**:你需要理解基本的图形图像处理概念,如像素操作、图像加载与保存、颜色处理等。
在易语言中,你可以使用内置的图像处理函数来创建、加载和显示图像。
2.**随机数生成**:为了增加验证码的难度,滑块的位置应是随机的。
易语言提供了生成随机数的函数,如`随机数`,可以用来确定滑块初始位置。
3.**事件驱动编程**:滑块的移动需要响应用户的鼠标事件。
易语言中的事件驱动模型使得我们可以轻松处理这些事件,如鼠标按下、移动和释放。
4.**用户界面设计**:创建一个包含滑块的窗口是必要的。
易语言提供丰富的控件库,可以构建出用户友好的界面,如图片框用于显示验证码图像,滑块控件供用户操作。
5.**图像拼接算法**:当用户移动滑块后,需要判断图像是否正确拼接。
这需要一种算法来比较原始图像和移动后的图像,确保滑块已到达正确位置。
这通常涉及到图像的裁剪、平移和比较操作。
6.**状态管理**:为了跟踪验证码的状态(如未尝试、正在验证、验证成功或失败),你需要在程序中维护一个状态变量。
易语言的变量和结构体可以帮助你实现这一点。
7.**错误处理**:在编程过程中,错误处理是非常重要的一部分。
易语言提供了异常处理机制,通过`错误捕捉`和`错误恢复`等关键字来确保程序在遇到问题时能够稳定运行。
8.**代码优化**:为了提供良好的用户体验,滑块验证码的响应速度应当尽可能快。
这可能需要优化图像处理算法,减少不必要的计算,以及合理地利用缓存。
9.**安全性**:但同样重要的是,滑块验证码应当具有一定的安全性。
虽然它不是绝对安全的,但可以通过限制验证尝试次数、设置时间间隔等方法来提高其安全性。
在实现滑块验证码时,你可以先从创建基本的图形界面开始,然后逐步添加图像处理逻辑和用户交互功能。
随着技术的深入,你还可以考虑引入更多的复杂性,如动态生成的背景、更复杂的滑块形状,甚至结合服务器端验证,进一步提高安全性。
以上就是使用易语言实现滑块验证码所需掌握的主要知识点。
通过实践,你将能熟练运用这些技能,创造出一个既实用又具有一定安全性的验证码系统。
2025/2/11 6:08:00 81KB 图形图像源码
1
递归下降分析法一、实验目的:根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。
本次实验的目的主要是加深对递归下降分析法的理解。
二、实验说明1、递归下降分析法的功能词法分析器的功能是利用函数之间的递归调用模拟语法树自上而下的构造过程。
2、递归下降分析法的前提改造文法:消除二义性、消除左递归、提取左因子,判断是否为LL(1)文法,3、递归下降分析法实验设计思想及算法为G的每个非终结符号U构造一个递归过程,不妨命名为U。
U的产生式的右边指出这个过程的代码结构:(1)若是终结符号,则和向前看符号对照,若匹配则向前进一个符号;
否则出错。
(2)若是非终结符号,则调用与此非终结符对应的过程。
当A的右部有多个产生式时,可用选择结构实现。
三、实验要求(一)准备:1.阅读课本有关章节,2.考虑好设计方案;
3.设计出模块结构、测试数据,初步编制好程序。
(二)上课上机:将源代码拷贝到机上调试,发现错误,再修改完善。
第二次上机调试通过。
(三)程序要求:程序输入/输出示例:对下列文法,用递归下降分析法对任意输入的符号串进行分析:(1)E->eBaA(2)A->a|bAcB(3)B->dEd|aC(4)C->e|dc输出的格式如下:(1)递归下降分析程序,编制人:姓名,学号,班级(2)输入一以#结束的符号串:在此位置输入符号串例如:eadeaa#(3)输出结果:eadeaa#为合法符号串注意:1.如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好);
2.对学有余力的同学,可以详细的输出推导的过程,即详细列出每一步使用的产生式。
(四)程序思路0.定义部分:定义常量、变量、数据结构。
1.初始化:从文件将输入符号串输入到字符缓冲区中。
2.利用递归下降分析法分析,对每个非终结符编写函数,在主函数中调用文法开始符号的函数。
2025/2/10 19:45:51 39KB 编译原理 语法 递归下降
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡