1、图书管理系统以UNIX系统文件部分系统调用为基础设计一个简易的图书管理系统。
要求实现:图书的录入、查询、借阅、清理、统计等功能、还要实现对每天的借阅情况进行统计并打印出统计报表,操作界面要尽量完善。
图书资料信息必须保存在文件中。
2、信号通信与进程控制(l)进程的创建:编写一段程序,使用系统调用fork()创建两个或多个子进程。
当此程序运行时,在系统中有一个父进程和其余为子进程在活动。
(2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。
(3)进程通信:①软中断通信;
②在程序中使用实例signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)进行通信操作,观察执行结果,并分析原因。
(4)软中断的捕获与重定义。
首先定义一个服务函数function(),然后利用signal(sig,function)系统调用来实现中断的捕获与改道。
(5)使用操作系统保留给用户的信号SIGUSR1和SIGUSR2进行通信。
(6)扩展程序,使之成为信号或事件驱动的应用程序。
3、管道通信利用UNIX系统提供的管道机制实现进程间的通信。
(1)管道通信。
利用pipe()和lockf()系统调用,编写程序,实现同族进程间的通信。
使用系统调用pipe()建立一条管道线;
创建子进程P1、P2、…。
子进程Pi分别向管道各写信息,而父进程则从管道中读出来自于各子进程的信息,实现进程家族间无名管道通讯。
扩展之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
(2)命名管道通信:利用mkfifo(name,mode)或mknod(name,mode,0)创建一个命名管道,然后利用它和文件部分系统调用实现不同进程间的通信。
改造之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
4、进程间通信(IPC):消息机制(1)消息的创建、发送和接收使用系统调用msgget(),msgsnd(),msgget(),及msgctl()编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为175的消息队列,等待其他进程发来的消息。
当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一个消息后显示一句“(server)received”。
3)CLIENT端使用key为175的消息队列,先后发送类型从10到1的消息,然后退出。
最后的一个消息,即是SERVER端需要的结束信号。
CLIENT每发送一条消息后显示一句“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而实现C/S通讯要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如读取或查询某个文件,或者执行一个shell命令等。
此功能可由设计者自己定义。
在此基础上可以扩展客户端,比如设计一个菜单界面,接收不同的选项,并发送到服务器端,请求对方提供服务。
5、进程间通信(IPC):共享内存机制(1)共享存储区的创建,附接和断接使用系统调用shmget(),shmat(),msgdt(),shmctl(),编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为375的共享区,并将第一个字节置为-1,作为数据空的标志,等待其他进程发来的消息。
当该字节的值发生变化时,表示收到了信息,并进行处理。
然后再次把它的值设为-1。
如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一次数据后显示“(server)received”。
3)CLIENT端建立一个Key为375的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。
CLIENT随即填入9到0。
期间等待Server端的再次空闲。
进行完这些操作后,CLIENT退出。
CLIENT每发送一次数据后显示“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而形成C/S通讯模式要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如
2024/7/19 3:04:26 918KB 操作系统
1
Web开发人员训练营导航基础环境与工具ChromeNode.jsVisualStudio程式码有用的VSCode技巧:如果要生成一些伪文本,可以键入lorem并按Enter。
例如,如果要填写10个字,则可以输入loren10并按Enter要复制整行并粘贴在下面,您可以使用option+shift+向下箭头您可能需要的有用扩展:Eslint,Prettier,HTML代码段,复制相对路径,代码拼写检查器,LiveServer,TabNine等。
通过点击command+shift+p打开设置(JSON),创建自己的VSCode设置,然后粘贴的内
2024/7/18 5:36:54 2.82MB nodejs javascript docker nginx
1
http://download.csdn.net/detail/shaohuatsou/5033123是为该资源上传的源代码之前用的打包程序都是VS自带的或者是第三方的打包程序,虽然提供了很多自定义的操作和界面,但始终想自己研究下原理,然后自己就用C#写了一个安装包。
该安装包安装之后会在开始菜单和桌面创建快捷方式,系统的添加删除程序项,系统服务项,并释放几个测试程序。
卸载的时候会一并清理干净,不会留下任何残留项。
1
1.下载签名工具,请移步到CSDN下载。
2.解压后有两个可执行程序makecert.exe和signcode.exe3.打开命令行窗口,cd到解压目录下4.创建数字证书文件执行命令:makecert/sv"pvk.PVK"/n"CN=XiaoGuo,E=63659875@qq.com"-$"individual"-r-e01/01/2040cer.cer参数说明:CN=XiaoGuo,表示签名者姓名;
E表示邮件地址;
01/01/2040表示证书结束日期执行命令后,输入三次你的密码,如(test123),确定后当前目录下创建了两个文件pvk.PVK和cer.cer5.给程序数字签名双击运行signcode.exe,运行数字签名向导步骤1:选择你要签名的文件名步骤2:签名选项,选择自定义步骤3:签名证书,点击按钮“从文件中选择”,打开文件对话框中选择文件类型“X.509证书",即可选择我们创建的cer.cer文件。
步骤4:选择私钥的位置,我们选择创建的pvk.PVK文件,确认后输入密码(test123)步骤5:哈希算法,选择md5后续步骤保持默认即可,其中时间戳可输入http://timestamp.verisign.com/scripts/timstamp.dll。
最后再输入一次密码,完成签名向导。
1
任务记录器一个小型的Web应用程序,用于记录我的日常活动。
用C#和Blazor制成(服务器端)我用它来跟踪我的日常任务并为我的工作创建一些报告。
用法克隆cdTaskLog\TaskLog.WebClientdotnetbuilddotnetrun在控制台中显示的地址中打开一个Web浏览器(默认值:https://localhost:5001)产品特点允许创建任务(通过按+按钮)允许通过将任务拖到垃圾箱图标来删除它允许更改特定任务的给定时间。
显示当天的总和通过将任务拖动到左侧栏上的任务,可以将任务分配给其他任务允许使用左上/右上按钮移动当前显示的日期通过将任务拖到新的日期,可以将任务移动到其他日期新作业将添加到jobs.json(是,手动)样品待定导出到CSV文件查看/生成报告有一个月的视图实施状态处理模式(当前只是在此处被黑客入侵)改善UI设计实现一个数据库以停止使用json文件(隐私,右)更多
2024/7/17 9:38:12 765KB mvvmcross blazor MvvmCrossC#
1
作者:(美国)K.霍金(美国)D.阿斯特编者:田昱川 出版社:科学出版社;第1版(2006年3月1日)  丛书名:国外游戏开发丛书  平装:550页  正文语种:简体中文  开本:16  ISBN:9787030166166  条形码:9787030166166  尺寸:25.6x19.4x3.4cm  重量:839g《OpenGL游戏程序设计》重点介绍了如何使用高性能的OpenGL图形与游戏函数库来开发游戏的视频部分。
为了让读者了解创建一个游戏的全部过程,书中还包含了DirectX的内容。
《OpenGL游戏程序设计》是涵盖这两方面内容的极少书籍之一。
在《OpenGL游戏程序设计》中,首先介绍了OpenGL和DirectX的产生背景,对它们的工作机理给出一个总体的描述,然后着重介绍了OpenGL最有可能应用于游戏开发的技术。
再后,介绍了如何把所有的技术结合在一起,搭建一个自己的游戏框架,用OpenGL做图形系统部分,用DirectSound和DirectInput做声音和设备输入系统部分。
最后,《OpenGL游戏程序设计》将介绍如何利用这个游戏框架和《OpenGL游戏程序设计》所涵盖的各种技术来创建一个完整的3D游戏。
  《OpenGL游戏程序设计》是学习使用OpenGL进行3D游戏设计的一个很实用的资料,非常适合打算进行游戏开发的程序员使用,也适合其他3D应用程序开发的程序员使用。
2024/7/17 2:46:51 24.86MB OpenGL 游戏程序设计
1
使用方法:一.空间架设1.申请空间2.配置空间3.上传程序4.修改配置文件根目录config.php网站名称,网址,数据库配置无需修改。
5.执行http://网址/install安装结束后删除install文件夹,修改admin地址6.配置淘宝授权http://open.taobao.com加入开放平台=>创建应用=>填写回调URL(在程序后台API配置获取http://网址/U/)=>创建=>应用证书(复制AppKeyAppSecret到后台API配置)=>淘宝授权=>完工7.宝贝同步,设置发货形式即可。
二.自己空间架设修改配置文件config.php///////////////////////////////////////////////////////$dbhost=SAE_MYSQL_HOST_M;//数据库ip地址$dbuser=SAE_MYSQL_USER;//数据库用户名$dbpwd=SAE_MYSQL_PASS;//数据库密码$dbname=SAE_MYSQL_DB;//数据库名$dbport=SAE_MYSQL_PORT;//数据库端口$db_prefix=”t_”;把配置修改成自己的数据库即可。
$dbhost=“localhost”;//数据库ip地址$dbuser=“root”;//数据库用户名$dbpwd=“123456″;//数据库密码$dbname=“waiwailicom”;//数据库名$dbport=3306;//数据库端口$db_prefix=”t_”;执行install即可其他和免费空间架设一样
2024/7/16 20:46:19 288KB 淘宝 自动发货 提货 源码
1
画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。
必要时还得提供UnDo功能,供用户取消上一次绘制的功能。
利用业余时间,我制作了一个画板程序,包含了以下几个功能:1.可动态拉伸及移动位置的编辑框,供用户输入文字。
2.可画直线,圆圈,箭头,线段及线条。
3.可使用CTRL+Z组合键,撤销上一次的绘制。
原文博客:http://blog.csdn.net/renstarone/article/details/19901585">画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。
必要时还得提供UnDo功能,供用户取消上一次绘制的功能。
利用业余时间,我制作了一个画板程序,包含[更多]
2024/7/16 0:43:47 282KB VC++ 画板程序
1
MaxonCINEMA4DStudioR22是由德国Maxon设计公司开发的一款高效、快速、稳定和易用的专业三维设计工具,包含GPU渲染器Prorender、生产级实时视窗着色、超强破碎、场景重建等诸多新功能。
MaxonCINEMA4DStudioR22提供了优秀工具和诸多提升,你可立即将其投入工作并一瞥未来的根基。
设计师因其快速、简单、易用的工作流程,以及坚如磐石的稳定性而选择MaxonCINEMA4DStudioR22,同时22可以让你的工作流程更加快速和可靠,新特性也会让你的视野变得更加开阔。
MaxonCINEMA4DStudioR19中文版MaxonCINEMA4DStudioR22中文版今日的工具,明日的技术Cinema4DRelease22提供了优秀工具和诸多提升,你可立即将其投入工作并一瞥未来的根基。
设计师因其快速、简单的工作流程,以及坚如磐石的稳定性而选择Cinema4D,同时Release19可以让你的工作流程更加快速和可靠,新特性也会让你的视野变得更加开阔。
工作流程Cinema4D快速简单的工作流程总是让加快设计速度变得简单。
Release19的准渲染视窗和其他极佳的工作流程改进,会让你比以往更快地准备创意稿给客户审批。
视窗新基于物理的视窗具备实时反射和景深你所看到的景深和屏幕空间反射是实时的渲染结果,可以更简单精准的对地面、灯光和反射进行可视化的设置。
Release19除了屏幕空间环境吸收和实时置换以外,还添加了基于屏幕空间的反射和OpenGL景深效果。
开启OpenGL观察看起来很好,你可以用它来输出新支持的原生MP4作为预览渲染,直接给客户审批。
LOD(细节级别)对象使用新的LOD对象可最大程度提升视窗或渲染速度,创建新类型的动画或准备优化游戏资源。
你可以根据屏幕大小、摄像机距离和其他因素自动简化对象和层级结构。
直观的新界面元素让定义和管理LOD设置更简单,LOD能够通过导出FBX用于市面上主流的游戏引擎。
新媒体核心作为我们的核心现代化工作的一部分,Cinema4D支持图像、视频和音频的格式已经完全重写了,速度和内存效率得到了增强。
除了QuickTime外Cinema4D现在本地支持MP4,比以往更容易提供预览渲染、视频纹理或运动跟踪的画面。
所有导入和导出的格式都比以往更加全面且功能强大。
交换格式更新通过FBX和Alembic格式导出LOD和选择对象。
Alembic文件新支持的次帧插值可进行Re-time并渲染准确的运动模糊。
新功能高亮显示通过高亮显示新功能可快速识别R19、R18的新特性或特定的教学。
分裂更加简单泰森分裂可以简单的进行程序化分裂对象–在Release19你可以控制动力学与连接器,将碎片粘合在一起,添加裂缝和更多的细节。
球型摄像机渲染”虚拟“现实R19提供了渲染和体验渲染的新方法–利用强大的GPU进行快速、好看的OpenGL预览,或使用ProRender进行基于物理的最终高质量渲染。
准备加入虚拟现实革命?使用R19的球形相机轻松渲染360°VR视频。
释放你显卡的力量来创建物理上精确的最终渲染。
AMD的RadeonProRender技术无缝集成到R19中,支持Cinema4D的标准材质、灯光和摄像机。
无论你是在最新的Mac系统中使用强大的AMD芯片,还是在Windows中使用NVIDIA和AMD显卡,你都可以享受跨平台、深度集成的解决方案,具有快速、直观的工作流程。
交互式渲染将ProRender附加到任何视窗,并像其他视窗一样使用它。
你可以在重新排列物体、调整相机、调整材质和照明时获得即时反馈。
进程式渲染整个图像,或在高分辨率渲染时使用区块式渲染以更好地进行内存管理。
ProRender可完全使用你系统中所有的显卡,无论你是使用具有多张Radeon的MacPro,还是具有AMD或NVIDA卡的Windows系统。
深入集成使用Cinema4D的材质、灯光和摄像机。
”萤火虫“滤镜消除路径追踪算法中常见的坏像素。
R20中的ProRender是产品可视化和其他类型渲染的绝佳选择,但当然这只是管中窥豹,ProRender最终将提供更多功能,并更深入地集成在将来的Cinema4D版本中。
PBR工作流程新PBR材质和灯光选项包含了基于物理渲染工作流的理想默认值。
紧跟现今趋势,为YouTube、Facebook、Oculus或Vive渲染立体360°VR视频。
新媒体核心所有的格式都会在新媒体核心中导入和渲染使用GIFs和MP4s作为纹理直接渲染为MP4、DDS和增强OpenEXR。
2024/7/15 22:43:35 348.3MB 三维建模渲染工具
1
树突状病毒请阅读以获取详细信息。
注意:Denite.nvim没有定义任何默认映射。
您需要定义它们。
关于Denite是Neovim/Vim统一所有接口的暗功能插件。
它可以用其界面替换许多功能或插件。
它就像一个模糊查找器,但是更通用。
您可以扩展接口并创建源。
您可以使用它进行以下操作:开启档案切换缓冲器插入寄存器的值更改当前目录搜索字符串就像是Vim的。
但是实现起来很丑,而且非常慢。
Denite解决了Unite的问题。
这里有一些好处:理论上更快,因为主进程由Python执行理论上更稳定,因为在运行时无法执行其他任何处理。
实现比联合更简单具有实施新功能的更大潜力Python3比Vimscript更易于使用有很多有用的工具可以使Python3中的代码保持简单(线性,测试器等)。
Unite在官方上已过时,次要错误(甚至主要错误)已不再修复要求反硝化需要Neovim0.4.0+或Vim的8.0+与if_python3。
如果:echohas("python3")返回1,那么您就完成了。
注意:请安装/升级msgp
2024/7/15 10:31:47 133KB python vim asynchronous nvim
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡