现在大部分中文MUD都是在东方故事(esII)基础上发展起来的,其目录结构基本一样,
也有个别MUD为了标新立异对个别目录换了个名字以示不同,但其实质没有什么变化。
这个做的最可恶的是xkx,把一个好好的daemon目录换成了一个不土不洋的kungfu,
里边却还是skill,condition这些洋名,简直让人faint!我实在看不出这种修改有什么好处,
除了添麻烦(xkx对一些命令的汉化,什么cha,du也是如此)。不过,
也有一些是为了系统更合理而修改的。
对MUDLIB目录的解释已经有许多版本了,基本也没什么区别,下边是我的解释,
以我自己整理的一份MUDLIB为基础,如果有目录不同的地方适当贯通就是了。
/adm 这里是最基本,最底层的程序,是整个MUD的控制枢纽。
这个目录只有admin权限可以修改。
/adm/daemons 守护程序目录。守护程序是指游戏中频繁调用的控制类程序,
MUD里各种基本功能都是由这些程序控制的。这些程序一般在游戏一启动就自动载入内存。
按照unix下文件命名习惯,这里的程序多以dc结尾,
比如combatdc就是控制战斗的程序。另外由于这些程序调用非常频繁,
一般都做了宏定义(查看/include/globalsh),例如/adm/daemons/combatdc
定义为COMBAT_D,在其它程序里可以适用这些宏定义代替这些文件名。
/adm/etc 系统配置目录,此目录定义为CONFIG_DIR 这里放的是游戏的系统文档文件,
比如游戏的欢迎画面,巫师列表,BAN掉的IP记录等。
/adm/obj 这里只有两个文件,但却是整个MUD最重要的东西。
masterc:这是MudOS主控物件,也就是整个MUD的总司令。
simul_efunc:防真函数加载精灵,这是MUD启动时第一个要载入的东西。
所谓efun,是指系统函数,也就是mudos中定义的函数。
这些函数不必做任何说明可以在MUD的任何程序里直接调用,
而且由于他们是预先定义的,也就是mudos早已经知道他们是做什么的,
所以比其它在MUDLIB里定义的函数执行效率要高。但他们的缺点是修改非常不方便,
对任何一个efun函数的修改必须重新编译mudos才能生效。因此,
在MUDLIB中又有了防真函数的定义,也就是simul_efun,
这些函数的作用跟efun完全一样,不同的是他们定义在UDLIB中,可以随时修改,
但必须重新启动游戏才能生效。
顺便讲一下一个MUD启动的过程,MUD启动的初始化过程分以下几步:
1载入防真函数simul_efun
2载入主控物件master,这里是调用master的create()函数将其载入内存。
3载入需要预先载入的守护程序,这里调用master的preload()函数,
需要预先载入的文件定义在/adm/etc/preload里。
4MUD进入多用户状态,允许玩家登录。
以上过程必须正确无误的执行完,否则游戏无法正确启动。
masterc和simul_efunc这两个文件只能在游戏启动时由mudos自动载入,
不可以在游戏中用update的方法载入,而且这两个物件也不
允许非ROOT权限的物件摧毁(destruct)它,因为他们的摧毁就等于游戏关闭 。
/adm/simul_efun 防真函数目录,这里放的是定义各类防真函数的文件,
这些文件由SIMUL_EFUN_OB(也就是/adm/obj/simul_efun)来载入内存。
/cmds 游戏命令目录,这里放的是游戏中可以使用的各种命令,
只有admin才可以修改这个目录
/cmds/adm 只有天神(admin)可以使用的命令
/cmds/arch 只有大巫师(arch)以上才可以使用的命令
/cmds/wiz 只有巫师(wizard)以上才可以使用的命令
/cmds/app 只有巫师学徒(wizard)以上才可以使用的命令
/cmds/imm 只有荣誉玩家(immortal)以上才可以使用的命令
/cmds/usr 只有普通玩家(player)以上才可以使用的命令
/cmds/std 所有生物(npc and player)都可以使用的命令命令目录采用子集格式,
权限高的命令完全包含权限低的命令,比如天神可以使用所有游戏命令,
普通玩家只能使用/cmds/usr和/cmds/std目录下的命令。
/data 游戏数据目录,只有arch以上权限才可以修改这个目录
/data/board 各个留言板的数据
/data/login 玩家登录数据
/data/user 玩家档案,呵呵,这里记录的是每个玩家的所有劳动成果
/data/npc 一些特殊npc的数据,比如商店老板
/data/daemon 重要的系统数据,比如emote词,英汉翻译词典
/data/mail 玩家信件
/feature 标准继承函数。只有admin才可以对这个目录进行修改这些函数是非常重要的,
是MUD里各种物件,包括玩家,NPC,物品,房间等的各种功能的标准定义,
这些函数反映了整个MUD的与众不同之处,一个好的MUDLIB必然要对这些函数进行优化。
而要设计新的程序,必须对这个目录所有文件有所了解。
/obj 系统物件,这是经常在MUD里被调用的各种物件。
这个目录下的物件被复制后跟调用他的物件具有相同的euid,
也就是说具有相同的权限,所以,这里的一个npc如果经admin编译后复制出来,
也具有了admin权限。这点非常重要,有些物件必须具有跟玩家相同的euid才能正常使用
,比如符纸。而出于安全考虑,这个目录下的物件不可以随便复制。
只有arch以上才可以修改此目录。
/obj/board 游戏中各个留言板
/obj/npc 一些特殊的NPC
/obj/sheet 各种符纸
/obj/weapons 兵器
/obj/misc 其它乱七八糟的东西,比如信箱等
/quest 游戏里各种任务quest的文件,此目录需要wizard以上权限才可以修改
/binaries 文件编译过程生成的二进制文件,此目录ROOT权限才可以修改
/d 区域目录,游戏的地图门派和NPC存放的地方。此目录wizard以上权限可以修改。
这里是整个MUDLIB最简单最常用的东西,也是玩家可以直接接触到的东西。
玩家所呆的任何一个房间都应该对应这个目录下的一个文件,
房间里每个NPC也都对应一个文件。这个目录下存在许多子目录,
分别对应游戏的不同区域(domain)。
/d/domain/npc 该区域中的npc
/d/domain/npc/obj 该区域中npc身上的物品
/d/domain/obj 该区域中的物品
/data_bak 档案备份目录,保存需要备份的重要数据。admin可以修改
/include 头文件目录,只有admin可以修改。这里放的是游戏中各个文件所需要的头文件,
其中以下几个特别重要:
globalsh:全局定义的头文件,这是一个特殊的头文件,
他不需要在任何一个文件里被调用,但是这里定义的所有变量可以在任何一个文件里直接使用。
这里一般用来定义非常重要的或者许多地方需要调用
的变量。对这个文件的修改必须重新启动游戏才可以生效。commandh:
这里定义的是各个权限等级所能够使用的命令目录,所以,除了admin,
应该绝对禁止任何人修改此文件。
/include/race 种族的头文件
/include/net 网络功能的头文件
/open 系统临时目录,ftp登陆目录,任何人都具有写权限。
/questobj FY3的task专门目录,存放各个task物品文件。wizard以上权限可以修改。
/u 巫师工作目录,存放各个巫师开发过程的半成品。
这里的子目录名只能为各个巫师的euid,
而只有对应euid的人才有对相应目录的修改权限。比如一个目录是lion,
那么只有lion这个ID或者比lion权限高的人
才可以修改它下边的内容。
/clone 物品目录,存放游戏中需要经常复制的各种物品,wizard以上权限可以写。
这个目录下的物品一般被其他地方复制(clone)出来,但他们的euid是固定的,
不会随调用它的物件的不同而改变,这就是这个目录和/obj目录的最大不同。
此目录arch以上等级可以修改
/clone/armor 装备
/clone/drug 药品
/clone/fruit 水果,水果跟食物的不同是吃了可以同时加食物和饮水,
而且有些水果具有养颜美容之功效。
/clone/liquid 容器,象酒袋茶壶一类
/clone/money 顾名思义,人见人爱的东西
/clone/user 玩家物件,包括loginc(link_ob)和userc(body),
此目录只有admin可以修改
/clone/books 各种秘籍
/clone/food 吃的
/clone/gift 各种礼物,一般是好东东
/clone/weapon 兵器
/clone/misc 其他杂物,比如尸体,头颅。
/daemon 呵呵,这个目录为什么叫这个名字我一直没明白,看下边的说明吧。
此目录只有arch以上可以修改。
/daemon/skill 游戏中所有的技能
/daemon/condition 人物各种状态,比如中毒,恢复等。
/daemon/class 这个应该理解为“组织”或“工会”,是ESII从外国MUD里保留下来的东西,
不过随着中文MUD的发展,工会的概念逐渐被淡化,其含义已经跟以前完全不同,
现在他的意思有点象“身份”,比如道士,和尚,喇嘛,官兵,老百姓。。。。
个人有个人的身份。很多情况下,这个跟门派类似,但又不完全相同。
这里存放的是各种不同身份的人所具有的特殊东西,
不过现在一般用来存放各种特殊技能的特殊用法(perform)
/doc 文档。 游戏中的各种文本文件,arch以上可以修改
/doc/help 各种帮助文件
/doc/efuns 各种系统函数的用法
/doc/story 各种背景故事
/log 系统日记,记录游戏过程各种重要事件,是巫师处理纠纷和剔除bug的主要依据来源。
一个好的巫师应该养成经常看系统日记的习惯。本目录只有ROOT权限可以修改。
/p 玩家目录,这个目录下内容玩家具有写的权限。主要存放需要玩家修改的内容,
比如玩家房间,自创武功等。
/std 标准对象目录,游戏中各种标准物件,
只有admin可以修改游戏里其他物件都需要继承这里的相应文件。
/std/armor 装备物品的标准继承,比如衣服,盔甲等
/std/board 留言板
/std/char 生物的标准继承,MUD里的生物包含两种:玩家(player)和非玩家(
npc)他们都需要继承/std/char/charc这个对象,
他们与其他物件的区别是具有心跳(heartbeat)。
/std/drug 药品的标准继承,其实这个现在一般不用了,这部分功能都放到了
/feature的相应文件里,保留这个是为了跟旧的系统兼容。
/std/item 物品的标准继承
/std/room 房间的标准继承
有人曾问房间和物品到底有什么区别?说实话,这个问题还真不好说,
这两个物件基本结构差不多,也没有什么可以区分的特征。
现在的常用判断方法是房间是没有环境(environment)的,但也不是所有物品
(包括生物)都有环境,所以,呵呵,这个问题还有待MUD程序的进一步完善,
现在基本上无法判断。
/std/skill 技能的标准继承
/std/weapon 武器的标准继承
/std/misc 其他物件,比如钱,符纸。
值得注意的是,/std这个目录跟一般MUDLIB的结构不太一样,
一般MUDLIB并没有如此归类存放,大家可以根据自己的认识加以判断。
以上是根据我的理解对各个目录的解释,未必是权威的说法,
只是为了让大家有所认识,如果有什么错误请指正。
作为刚入门的新巫师,准确理解各个目录的作用是非常重要的,
必须知道哪个目录下的东西是做什么的,哪个目录你可以去改,哪个目录你不能动。
一般来说,要成为一个合格的巫师,至少要花半月时间来“读”程序,
了解整个MUDLIB的结构,了解各个文件的作用
(未必要完全看懂,但至少应该知道他是干什么的),
这样不至于再以后的程序开放过程中不知道什么功能该如何实现,从而走许多弯路。
当你了解了整个MUDLIB后就可以试着自己写程序了,
一般你只能在自己的工作目录里写东西。刚开始不妨试着写一个简单的房间,
然后试着写一个简单的npc,然后试着把这个npc放到这个房间里。。。。。。
这样逐渐提高,你很快就成为一个合格的巫师了。uwenku
首页 问答 如何查看apk文件的开发人员ID?
Q
如何查看apk文件的开发人员ID?
android android-manifest google-play
2012-07-25 152 views 1 likes
1
我的系统下载了几个apk文件。现在我想找到他们的开发者ID/Creator_ID(就像我们有Google Inc,Facebook等)。 我无法在apk的清单文件中找到它。这个信息是否存在与apk?如何查看apk文件的开发人员ID?
我已经看到,我们可以看到apk文件信息(如包名,的versionCode等)使用“aaptexe”工具,它坐落在Android SDK中的工具文件夹内,但也我不能找不到关于开发人员ID的任何信息。
我已经在网上找了这个,但找不到任何重要的东西。 有人可以帮助我这个 在此先感谢。
如果以上任何内容不清楚,请回复。
来源
2012-07-25 pragmatic
A
回答
1
非常感谢您的及时回复。 我也找到了一个解决办法来解决这个问题。(有人可能会虽然觉得有点的开销,但我在这里想它的价值共享。)
所以人们需要的“APK”文件的扩展名先更改为“。压缩”。 然后解压缩它。
有在META-INF文件夹,你会发现文件名“CERTRSA” 您可以使用opensslexe UTIL使用其解码这个命令 -
openssl pkcs7 -inform DER -in yourRSAfilersa -print_certs -text
(有关此更多信息您可能必须阅读此>如何适配Arm64架构的 iosAPP
我们先来谈谈“64位”这个术语及其含义。大家对于这个术语一直比较困惑,很大一部分原因在于,它没有统一的、约定俗成的定义。然而,在大体上却达成了一些共识,尽管这些共识并未为大众所知。
“×× 位”CPU通常是指两个部分的宽度:整数寄存器的宽度和指针的宽度。值得庆幸的是,在大多数现代CPU中,它们是一致的。“64位”通常是指CPU有64 位整数寄存器和64位指针。除了搞清楚“64位”所指的对象外,明白非“64位”所指的对象也十分重要,这些对象通常包括以下几种。
内存(RAM)地址大小。这一数值(关系到硬件可支持的最大内存)与CPU的位数无关。ARM架构的内存地址通常从26位到40位不等。
数据总线大小。CPU从内存或缓存中获取的数据量也与CPU的位数无关,某些CPU指令可能需要特定大小的数据,但在实际应用中,既可一次获取多条指令, 也可多次获取一条指令。上一代iPhone就已经以64位块为单位从内存获取数据了。在PC中,块大小最高可达192位。
与浮点运算相关的参数。FPU寄存器的大小和内部设计是独立的,ARM架构采用64位FPU已颇有段时间了。
“64位”的优点与缺点
尽管64位与硬件可支持的最大内存无关,但便于单一程序使用更大内存。在32位CPU中,单一程序仅有4GB地址空间,减去被 *** 作系统和标准库所占用的部 分,只剩1~3GB可用。如果一个32位系统的RAM超过4GB,单一程序很难充分利用全部空间,除非开发者耍些小聪明,例如直接命令 *** 作系统按需求分配 内存,或将程序拆分成多个进程。但在实际应用中,很少有程序这么做,因为编程更麻烦,还会有损性能。系统拥有更多内存的好处是,能同时运行多个应用并减少 硬盘缓存。这样固然不错,但难免有个别程序需要使用更多内存的情况。
即使对于物理内存较小的系统,更大的地址空间也有帮助。内存映射文件是种有用的结构,在32位系统中,程序不能映射大文件(通常是指超过几百MB的文件),而64位系统的可用地址空间更大,不必有这方面的担心。
不过,增加指针宽度有个严重的缺点:在所有其他条件都相同的情况下,单一程序在64位CPU系统中更占内存。因为指针本身也需要存储于内存中,在64位系统 上,这个空间增加了一倍。而大多数程序运用指针很频繁,所以额外占用的空间往往不少。这给缓存带来了压力,从而导致性能降低。
简而言之,“64位”可以提升某些应用的性能,并使内存映射文件这种编程技术更易用。不过,它也会因占用更多内存而降低性能。
ARM64
iPhone 5S的64位CPU是配有更宽寄存器的ARM处理器,与32位ARM架构相比,64位ARM架构包括以下重大变动:首先是名称的变化——它的官方名称为 “AArch64”,但这个名字读起来很绕口,敲起来也别扭。苹果称它为ARM64,我也更倾向于用这个名字。
较32位ARM架构而 言,ARM64的整数寄存器数量增加了一倍,32位ARM架构有16个整数寄存器,其中1个是专用的程序计数器,还有2个用于堆栈指针和链接,其他13个 则作一般用途。而ARM64位架构有32个整数寄存器,包括1个专用的零寄存器,1个链接寄存器和1个帧指针寄存器,还有1个寄存器预留给平台,另外28 个则为通用整数寄存器。ARM64上可用浮点寄存器的数量有所增加。32位ARM处理器有32个32位浮点寄存器,还有16个额外的64位寄存器。这些寄 存器的结构有些特殊,可被视为等价于16个重叠的128位寄存器。ARM64则将其简化为32个128位寄存器,且没有重叠。
寄存器的数量 会对性能会产生巨大影响。与CPU相比,内存要慢得多。与CPU处理一条指令的时间相比,读取和写入内存都需要更长时间。CPU试图通过引入缓存来缓解这 一差距。但与CPU内部的寄存器相比,即使速度最快的缓存也慢得多。更多的寄存器意味着更多数据能存储在CPU内部,这降低了内存访问频率,同时提高了性 能。
除了增加寄存器数量,ARM64也为指令集带来了重大变化。大多数32位ARM处理器可基于运行时条件寄存器的状态执行条件指令,这使 得在编译if等语句时无需分支。不过这种方式引入的麻烦多于便利,因此ARM64取消了条件执行。ARM64的NEON SIMD单元完全符合IEEE754双精度标准,而32位版本的NEON SIMD单元只支持单精度。ARM64还增加了专门的AES、SHA-1、SHA-256加密指令。这些指令也许对普通应用帮助不大,但对特定领域的应用 来说价值无穷。可以, *** 作如下,Arch linux镜像需要自己制作
1) 打开云服务器 CVM控制台 。
2) 单击导航窗格中的镜像。
3) 单击自定义镜像,选中要共享的CVM实例的自定义镜像。
4) 单击导入镜像按钮,按步骤要求,先开通腾讯云对象存储COS,将满足要求的镜像文件上传至COS,单击下一步;
5) 然后就ok了常用的IT服务器有Linux、Unix和Windows *** 作系统,其中Linux因其稳定、开源、免费、安全、高效的特点,发展迅猛,在服务器市场占有率超过80%,随着云计算的发展,Linux在未来服务器领域仍是大势所趋!
Linux *** 作系统主要有以下三大应用领域:
1 Linux作为企业级服务器的应用
Linux系统可以为企业架构>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)