C语言词法分析器#include#include#includechar*key0[]={"","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","_Complex","_Imaginary","union","unsigned","void","volatile","while"};/*保留字表*/char*key1[]={"","(",")","[","]","{","}",",",";","'"};/*分隔符表*/char*key2[]={"","+","-","*","/","%","","==",">=","","~","|","^","&","=","?:","->","++","--",".","+=","-=","*=","/="};/*运算符表*/intxx0[35],xx1[10],xx2[31];.......
2025/11/25 7:08:42 19KB C语言词法分析器
1
网上订票系统用到的技术为:javabean-servlet-jsp sqlserver2000 数据库文件在WebRoot的DB文件中!本系统实现了会员注册,会员登录,密码修改,以及会员信息的修改!初步实现了在线订购,订单查询,班次查询以及系统管理--对火车信息的添加等。
操作过程: 首先,应导入到myeclipse中,将该系统发布到tomcat中,并启动tomcat! 接着在360浏览器中输入http://localhost:8080/bookonline/login.jsp 管理员的帐号为:guanliyuan密码为:123456789 用户帐号为:987654321密码为:987654321 当然可以在登录界面中点击注册链接,跳转到注册页面中进行注册(注:只能注册用户的,没有管理员注册!这是该系统中的一个问题)。
登录进去后进入主界面main.jsp中。
在该界面中,可以点击修改用户信息,密码等链接,管理员还可以点击添加火车信息的链接。
当然还可以查看火车信息。
(注:只有在查询后,才能进行订票)。
注:用到的页面 login.jsp——登录界面,可以链接到注册用户的界面。
用admin字段来标识是否为管理员。
其中有一个用户为987654321密码为987654321,另一个为管理员guanliyuan密码为123456789 register.jsp——用户注册页面,默认的所有注册方式为用户,即所有的用户admin为0。
而管理员事先设置好了,即admin为1。
registerfailed.jspregistersuccess.jsp——为注册成功或失败时用到的页面 main.jsp——为系统主页面,在这里可以链接到订票,查询,修改信息,修改密码,管理员添加火车信息等。
该页面用到了专题咨询里面的主框架结构,和部分代码。
queryfailed.jsp——当查询失败时所连接到的界面 addtrain.jsp——管理员添加火车信息时的页面 adderror.jsp——用户点击添加火车信息时产生的错误界面 showticket.jsp——显示火车票信息,此时可以进行订票。
bookfailes.jspbooksuccess.jsp——订票成功或失败时所链接的界面。
view.jsp——浏览火车票信息。
modifyinfo.jsp——修改用户信息,在这里不可能更改密码,以及权限。
passwordmodify.jsp——修改密码!
2025/11/6 18:21:36 2.59MB JAVA J2EE 网上 订票
1
配送一个自己写的串口驱动程序用DMA接收数据接收完会产生一个空闲中断由此可判断接收完一个包的数据再配送一个我自己写的动态内存管理跟ESP8266的驱动在项目中测试460800的波特率30kb一秒的数据接收一包1024个字节每包需要应答15字节的情况下AT指令处理是使用多个缓冲级来处理模块发送过来的数据分别有模块应答缓冲级跟等待应答的缓冲级、被忽略的AT指令集的缓冲级(例如注册一个SENDOK\r\n则模块应答此条指令立刻清除缓冲级释放内存无需等待超时直接忽略)还有需要回调的缓冲级(则出现此指令调用回调函数)都是通过注册的方式来实现如果出现一包跟指令被分到一个包内AT处理函数一样可以搜索到AT指令使用strstr函数来实现函数的缓冲级都是指针不占用内存使用动态内存管理的方式有数据则创建内存放入数据作为一个缓冲级如果模块应答的数据在规定的时间内没有响应则删除此缓冲级函数前都有注释介绍下面介绍一些常用的函数:at_init初始化一些变量已经串口at_time_task使用定时器回调1毫秒回调一次用来计数超时的指令缓冲&等待超时的计数at_clear_all在模块开机的时候可能会有很多乱数据可以在初始化完毕后使用此函数清除所有缓冲级释放所有内存at_processing处理AT的应答超时的指令(做删除释放内存的动作),还有处理等待的AT指令此函数一定要不断循环处理可以加入到定时器目前我实验是在UCOS上的所以直接创建个任务来执行此函数当程序在等待某个AT指令的时候此函数会寻找接收的缓冲级是否有等待的AT指令at_cmd_cb_hand回调处理函数如果接收缓冲级出现某个已经注册的指令则回调注册时所填写的函数地址at_send_cmd发送一个AT指令可以用跟printf一样使用%d等等at_send_data发送数据的时候所使用需要填写长度at_cmd_ignore_register注册一个被忽略的AT指令带入参数*s(例如填写一个"SENDOK"则模块应答的此条指令直接被忽略释放内存被忽略之前会检查此缓冲级会不会带有别的AT指令需要回调的)at_cmd_ignore_cancel取消被忽略的指令则取消已经注册的被忽略的AT指令at_cmd_cb_registerAT指令的回调注册例如参数填写"+IPD",函数名a则出现+IPD的时候回调a函数a函数有类型在at.h文件里面有at_cmd_cb_cancel注销回调你懂得at_wait_cmd等待一个AT指令集或者超时则立刻返回等待途中会不断调用OS的延迟程序让系统能有时间去执行其他任务使用方法例如{at_send_cmd("AT+UART=%u,%u,%u,%u,%u\r\n",baudrate,databit,stopbit,parity,flow_control);return(esp_error)at_wait_cmd("\r\nOK\r\n",2000,NULL);}at_errorat_wait2_cmd(char*s,char*s2,u16timeout,u8*index)此函数是等待两个AT指令集如果出现一个则立刻返回返回值h文件有介绍AT_DONE则出现此条指令index参数则提取应答的缓冲首地址使用at_buf_get函数获取首地址使用完后要调用at_free_buf来清除并释放这个缓冲级at_buf_len_get查询此应答的缓冲级长度如果在index填写NULL则不需要缓冲级首地址直接清除释放缓冲级
1
实现了电子通讯录系统,功能包括用户注册、用户登录、修改密码、添加好友、添加好友联系方式、修改好友联系方式、删除好友联系方式等。
\MyAddressList\DB\MyAddressList.sql电子通讯录系统数据数据库创建脚本\MyAddressList\DB\MyAddressList.bak电子通讯录系统数据数据库备份\MyAddressList\Images\电子通讯录系统图片文件夹\MyAddressList\Styles\Stye.css电子通讯录系统样式表文件\MyAddressList\Login.aspx登录页面\MyAddressList\Register.aspx注册页面\MyAddressList\ModifyPwd.aspx修改密码页面\MyAddressList\AddressAdd.aspx添加好友页面\MyAddressList\AddressList.aspx好友管理页面
2025/8/8 7:45:17 341KB asp.net .net C#
1

C语言程序的理解与编译优化C语言程序的理解与编译优化是计算机科学和软件工程中的核心技术之一。
作为一种通用的编程语言,C语言广泛应用于操作系统、嵌入式系统、应用程序等领域。
然而,C语言程序的理解和编译优化是一个复杂的过程,需要程序员具备深入的理论基础和实践经验。
从C语言程序的理解开始,需要了解C语言的基本语法和语义结构。
C语言是一种过程式编程语言,具有变量、数据类型、运算符、控制结构、函数等基本元素。
程序员需要了解C语言的变量声明、数据类型转换、运算符优先级、控制结构的使用等基本概念。
在C语言程序的编译优化方面,需要了解编译器的工作原理和优化技术。
编译器是将C语言源代码翻译成机器代码的工具,编译过程包括词法分析、语法分析、语义分析、优化和代码生成等阶段。
编译器的优化技术包括Register Allocation、Instruction Selection、Instruction Scheduling、Dead Code Elimination等。
Register Allocation是编译器优化技术中的一种重要技术,目的是为变量分配寄存器,减少内存访问次数,提高程序执行速度。
Instruction Selection是根据目标机器的指令集架构,选择合适的指令来实现源代码的功能。
Instruction Scheduling是根据指令的依赖关系和执行顺序,安排指令的执行顺序,以提高程序的执行速度。
Dead Code Elimination是编译器优化技术中的一种重要技术,目的是删除源代码中无用的代码,减少程序的执行时间和内存占用。
编译器还可以使用其他优化技术,如Constant Folding、Constant Propagation、Copy Elimination等。
此外,C语言程序的理解和编译优化还需要了解计算机体系结构和操作系统的基本概念,如指令系统架构、存储器管理、进程管理等。
程序员需要了解计算机体系结构的基本原理,如MIPS、x86、ARM等指令系统架构,并且了解操作系统的基本原理,如进程管理、内存管理、文件系统等。
C语言程序的理解和编译优化需要程序员具备深入的理论基础和实践经验,需要了解C语言的基本语法和语义结构、编译器的工作原理和优化技术、计算机体系结构和操作系统的基本概念等。
只有具备了这些知识和技能,程序员才能更好地理解和编译优化C语言程序,提高软件开发的效率和质量。
2025/6/20 7:27:53 2.4MB
1
此为软件授权系统的用户注册部分
2025/3/31 4:35:52 12.29MB python gui
1
这个文件包,包括Register与TestLogin,Register用户登录界面,讲注册的信息存入到数据库,TestLogin即登录界面检查密码是否与数据库一致,一致的话进入,并且在主页面可以显示用户登录信息,这里有个实验报告作参考,代码自己体会
2025/3/30 19:17:18 517KB myeclipse 与sql 做的用户登录界面
1
第2章(\C02)示例描述:本章实现了电子通讯录系统,功能包括用户注册、用户登录、修改密码、添加好友、添加好友联系方式、修改好友联系方式、删除好友联系方式等。
\MyAddressList\DB\MyAddressList.sql 电子通讯录系统数据数据库创建脚本\MyAddressList\DB\MyAddressList.bak 电子通讯录系统数据数据库备份\MyAddressList\Images\ 电子通讯录系统图片文件夹\MyAddressList\Styles\Stye.css 电子通讯录系统样式表文件\MyAddressList\Login.aspx 登录页面\MyAddressList\Register.aspx 注册页面\MyAddressList\ModifyPwd.aspx 修改密码页面\MyAddressList\AddressAdd.aspx 添加好友页面\MyAddressList\AddressList.aspx 好友管理页面第3章(\C03)示例描述:本章实现了网上选课系统,通过该系统,学校不同角色的用户可以通过网路完成选课系统功能:管理员通过该系统实现对学生、教师、课程的添加和维护和学生成绩的维护;
教师通过该系统实现查看课程选修情况和录入学生成绩;
学生通过该系统实现选课、退课等功能;
还有公有模块:修改密码功能。
\MyElectCourse\DB\MyElectCourse.sql 网上选课系统数据数据库创建脚本\MyElectCourse\DB\MyElectCourse.bak 网上选课系统数据数据库备份\MyElectCourse\Images\ 网上选课系统图片文件夹\MyElectCourse\Controls\left.ascx 网上选课系统用户控件\MyElectCourse\Login.aspx 登录页面\MyElectCourse\Main.aspx 管理员主页面\MyElectCourse\adminStudentAdd.aspx 添加学生页面\MyElectCourse\adminStudentDetails.aspx 学生维护页面\MyElectCourse\adminCourse.aspx 添加课程页面\MyElectCourse\adminCourseDetails.aspx 课程维护页面\MyElectCourse\adminTeacherAdd.aspx 添加教师页面\MyElectCourse\adminTeacherDetails.aspx 教师维护页面\MyElectCourse\adminStudentScore.aspx 成绩维护页面\MyElectCourse\studentElect.aspx 学生选课页面\MyElectCourse\courseDetail.aspx 课程详细信息页面\MyElectCourse\teacherQueryElect.aspx 教师查询选课情况页面\MyElectCourse\teacherSubmitScore.aspx 教师提交成绩页面\MyElectCourse\ModifyPwd.aspx 修改密码页面第4章(\C04)示例描述:本章实现了聊天室系统,功能包括用户登录、自动注册、用户发言、实时浏览发言、注销身份等。
\MyChatRoom\App_Code\BusinessLogicLayer 聊天室业务逻辑层,包括以下文件: \Message.cs 用户留言类 \User.cs 用户类\MyChatRoom\App_Code\DataAccessLayer 聊天室数据访问层,包括以下文件: \Database.cs 数据访问类\MyChatRoom\DB\MyChatRoom.sql 聊天室数据数据库创建脚本\MyChatRoom\Images\ 聊天室系统图片文件夹
2025/2/15 9:29:21 3.33MB asp.net
1
1.首先,要获得Win10WindowsApps文件夹访问权限的具体操作方法如下:步骤:第一步:设置显示隐藏文件夹,打开C:\ProgramFiles文件夹,右击WindowsApps文件夹,选择“属性”,在安全里面选择“高级”第二步:更改所有者,为Everyone,确定。
第三步:最后会出现“Windows安全”窗口,等待系统设置好安全信息就可以了。
2.查:通过系统内置的WindowsPowerShellI命令,尝试解决Win10应用商店消失的问题。
一、在开始菜单,右键打开WindowsPowerShell(管理员),在WindowsPowerShell(管理员)页面,输入以下命令,获取您电脑所安装的Windows10内置程序的版本:Get-AppxPackage-allusers检查是否有附件中安装包,没有的话,下载附件,解压到WindowsApps文件夹:Name:Microsoft.WindowsStorePublisher:CN=MicrosoftCorporation,O=MicrosoftCorporation,L=Redmond,S=Washington,C=USArchitecture:X64ResourceId:Version:11811.1001.27.0PackageFullName:Microsoft.WindowsStore_11811.1001.27.0_x64__8wekyb3d8bbweInstallLocation:C:\ProgramFiles\WindowsApps\Microsoft.WindowsStore_11811.1001.27.0_x64__8wekyb3d8bbweIsFramework:FalsePackageFamilyName:Microsoft.WindowsStore_8wekyb3d8bbwePublisherId:8wekyb3d8bbwePackageUserInformation:{S-1-5-21-457848557-3406337263-1732915882-1001[ZunPC]:Installed}IsResourcePackage:FalseIsBundle:FalseIsDevelopmentMode:FalseNonRemovable:FalseDependencies:{Microsoft.NET.Native.Framework.1.7_1.7.27413.0_x64__8wekyb3d8bbwe,Microsoft.NET.Native.Runtime.1.7_1.7.25531.0_x64__8wekyb3d8bbwe,Microsoft.VCLibs.140.00_14.0.27323.0_x64__8wekyb3d8bbwe,Microsoft.WindowsStore_11811.1001.27.0_neutral_split.scale-100_8wekyb3d8bbwe...}IsPartiallyStaged:FalseSignatureKind:StoreStatus:Ok3.安装依存的运行库Microsoft.NET.Native.Framework.1.7和Microsoft.VCLibs.140.00_14.0.27323.0_x64:在WindowsPowerShell(管理员)页面,输入以下命令,安装:Add-appxpackage-register"C:\ProgramFiles\WindowsApps\Microsoft.NET.Native.Framework.1.7_1.7.27413.0_x64__8wekyb3d8bbwe\appxmanifest.xml"-disabledevelopmentmode(黄色标识的部分,为第二部分中复制的内容)Add-ap
2025/2/14 4:33:43 20.35MB Win10 应用商店安装
1
基于springboot+js的商品秒杀项目基础项目(前阶段分离)开发环境Maven的3.6SpringBoot2.2.4理念2019.3MySQL8.0VS代码阿里云主机+redislombok插件支持依赖介绍springboot-webHibernate验证器阿里云市场短信服务相关依赖mysql驱动(8.0)及数据源(com.alibaba.Druid)joda-time时间支持功能介绍前端register.html注册页面(实现手机号+验证码注册方式)login.html登录页面(手机号+密码)itemlist.html显示商品列表item.html商品详情页以及下单功能ajax交互(json数据传输)初步Hibernate验证器数据校验,自定义结果封装redis存储用户注册验证码阿里云云市场短信服务,发送注册码双重异常统一处理,返回格式统一返回值封装,返回统一对象永久层,业务层,控制器层对象转换Mybatis发电机用户注册与登录功能商品查询与增加功能订单创建功能密码加密,单独建表注意
2024/11/23 2:32:02 26.94MB mysql redis js ajax
1
共 50 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡