自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Android应用百度文字识别token问题

百度云更新token后,Android studio token无效的问题

2023-03-07 21:48:49 122

原创 项目实训总体报告(二)

目前为止,我们的项目大致如下因为时间原因,场景只有昼夜情况,基本功能都实现了,包括关卡场景中的所有要素,商店购买功能,存档功能。一共三个模式,都是原版的最基本的关卡。...

2022-05-20 21:34:07 142

原创 项目实训个人报告(二)

最近我制作了一个Boss,并实现了花园场景的存档。首先是Boss的制作,最麻烦的是找素材,因为在网上难以找到所有的原版PVZ的素材,所以开始我解包了原版PVZ的游戏资源,但是得到的是僵尸肢体的图片,所以想要完全再现原版需要我们手动拼装僵尸并制作动画,所以我解包了另一个游戏,制作了简单的几个动画。上面两张是动画原图,下面是Boss在游戏中释放了技能。在Boss关卡中,只要Boss存活就会无限产生僵尸,这个很好实现,在无尽模式中已有僵尸管理器用来产生和销毁僵尸,那么只要定时调用方法增加...

2022-04-16 21:01:25 1714

原创 项目实训总体报告(一)

第一阶段,我们主要实现了游戏的无尽模式与花园部分

2022-04-16 20:13:58 1993

原创 项目实训个人报告(一)

2022-02-23 19:59:08 153

原创 ext2文件系统dir.c分析

2021SC@SDUSC// SPDX-License-Identifier: GPL-2.0/* * linux/fs/ext2/dir.c * * Copyright (C) 1992, 1993, 1994, 1995 * Remy Card (card@masi.ibp.fr) * Laboratoire MASI - Institut Blaise Pascal * Universite Pierre et Marie Curie (Paris VI) * * from

2021-12-13 14:47:00 368

原创 ext2文件系统ialloc.c分析

2021SC@SDUSC// SPDX-License-Identifier: GPL-2.0/* * linux/fs/ext2/ialloc.c * * Copyright (C) 1992, 1993, 1994, 1995 * Remy Card (card@masi.ibp.fr) * Laboratoire MASI - Institut Blaise Pascal * Universite Pierre et Marie Curie (Paris VI) * * B

2021-12-13 10:26:54 1237

原创 ext2文件系统super.c分析(二)

2021SC@SDUSC/*ext2的填充超级块的函数*/static int ext2_fill_super(struct super_block *sb, void *data, int silent){ struct dax_device *dax_dev = fs_dax_get_by_bdev(sb->s_bdev); struct buffer_head * bh; struct ext2_sb_info * sbi; struct ext2_super_block *

2021-12-06 10:35:29 500

原创 ext2文件系统super.c分析(一)

2021SC@SDUSC/*** ext2_find_shared -找到用于部分截断的间接块。* @inode: 文件的inode* @depth: 要截断chain的深度* @offsets: 该分支中指针的偏移量(参见ext2_block_to_path)* @chain: 用来存放指向局部间接块的指针* @top: 置于(分离的)树枝顶部** 这是ext2_trun...

2021-11-30 13:39:19 592

原创 ext2文件系统inode.c分析(二)

2021SC@SDUSC

2021-11-22 23:18:04 707

原创 ext2文件系统inode.c分析(一)

2021SC@SDUSCstatic int __ext2_write_inode(struct inode *inode, int do_sync);ext2_inode_is_fast_symlink检测一个inode是不是一个快速符号链接。快速符号链接是一个ext2文件系统的特性,要求符号链接指向的文件名是一个短的路径名,小于等于60字节,就把它的路径名放在一个inode里,而不用通过一个数据块来进行转换static inline int ext2_i...

2021-11-16 10:26:19 1433 2

原创 balloc.c分析(二)

2021SC@SDUSCext2_try_to_allocate的作用是尝试在给定的范围内分配块,参数group为给定的分配块组,grp_goal是给定组内的目标块,count是分配的块的目标数量。首先设置块的分配范围start到end,然后如果我们有一个窗口,我们在预留窗口内进行分配重设start和end的值,并且判断grp_goal是否在分配范围中,不在则grp_goal设为-1。然后判断grp_goal是否小于0,是则调用find_next_usable_block在分配范围中找到一...

2021-11-09 16:25:42 773

原创 balloc.c分析(一)

2021SC@SDUSC balloc.c是和block分配有关的文件,block和inode是文件系统最基础的部分,所以balloc.c会涉及很多底层内容。 在文件的开始定义了一个宏,用来判断参数b是否在参数(first)-(first+len-1)这段内存中。#define in_range(b, first, len) ((b) >= (first) && (b) <= (first) + (len) - 1) 下...

2021-11-02 10:06:50 451

原创 acl.c分析(二)

2021SC@SDUSC 上一篇分析了acl的头文件,这次来看acl.c中具体实现了那些操作。 第一个函数是将磁盘上的ext2文件系统的acl结构转化成内存上通用的posix标准的acl结构,可以看到函数的返回值类型为posix_acl。开始几个if判断value是否为空、size是否小于ext2的acl头、acl的版本号是否正确,都没问题后value指向acl头后的数据部分,并根据size的大小计算acl数据项的数量count,检查count,无误则分配一定的posi...

2021-10-28 21:18:41 220

原创 acl源码分析(一)

2021SC@SDUSC ACL(Access Control List)是访问控制列表,在Linux中用于设定用户针对文件的权限,它是对UGO权限管理的补充。ACL可以对额外的某个用户或用户组设置权限,即不只有文件的user和group可以访问该文件,可以解决UGO无法解决的情况。举个例子,在UGO权限下,一个文件有一个user和一个group,他们有文件的rwx权限,此外的其他人都是无权限的,此时有一个人需要该文件的r权限,但又不属于该文件的group,就需要ACL专门为此用户设置权...

2021-10-19 10:40:08 515

原创 ext2.h源码分析(二)

2021SC@SDUSC 以下是系统调用ioctl()的操作命令,通过以下参数来对常规的系统调用进行扩充,其作用类似“补漏”,所有比较细小的、不需要专门设置一个系统调用的操作都归入ioctl。而且在对特殊设备的驱动进行适配时,也常常通过增设新的ioctl命令来实现。#define EXT2_IOC_GETVERSION FS_IOC_GETVERSION #define EXT2_IOC_SETVERSION FS_IOC_SETVERSION #define EXT2_IOC...

2021-10-12 12:11:54 324

原创 ext2.h源码分析(一)

2021SC@SDUSC 在文件目录下有名为ext2.h的头文件,提供了许多该文件系统使用的数据类型和方法,所以先分析该文件以便了解整个文件系统的结构。 文件开始定义了与块的分配和查找有关的如下两个数据类型:typedef int ext2_grpblk_t; //记录块组的块偏移量typedef unsigned long ext2_fsblk_t; //记录文件系统范围的块数 ...

2021-10-04 19:50:14 746

原创 Linux内核文件系统

2021SC@SDUSC Linux发展多年,形成了庞大且复杂的体系结构,源码中不同的文件目录实现了不同的功能,文件系统的实现就位于fs文件夹内。它对各种文件系统都进行了适配,阅读源码可以了解Linux如何实现文件系统的管理。 那么关于源码阅读,我的想法是第一步先从早期的文件系统开始学习,例如ext2(second extended filesystem),是Linux内核早期所用的文件系统。相比Linux现在常用的ext4,ext2的结构相对简单且功能更少...

2021-09-30 09:24:54 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除