1.Cè¯è¨åºç° source modified rebuild ï¼Y\N) ?
2.UGUI源码导读
3.UEFI开发环境搭建
4.linux 下有几种安装软件的方式 假如我有一个flash的tar包在文档文件夹下
Cè¯è¨åºç° source modified rebuild ï¼Y\N) ?
è±è¯çæææ¯ï¼æºä»£ç å·²ç»ä¿®æ¹ï¼æ¯å¦éè¦éæ°ç¼è¯ï¼
顾åæä¹å°±æ¯ä½ å¨ç¨ç¼è¯å¨åç¨åºæ¶å¨ç¬¬ä¸æ¬¡ç¼è¯åæ¹äºä¸äºä»£ç ï¼ä¸ä¿åèç´æ¥éåºãææ¯ä½ çæºæ件已ç»å¨å ¶ä»çç¼è¾å¨éæå¼ï¼ä¿®æ¹èæ示ã
æ¯å¦ä½ å¼ä¸¤ä¸ªVCåæ¶æå¼æ件test.cãé£ä¹å½ä½ ç¨VC1(å°±æ¯å ¶ä¸ä¸ä¸ªVCçªå£)ä¿®æ¹äºå ¶ä¸ç代ç ï¼å¹¶ä¿åï¼ç¶ååæ¢å°VC2(å¦ä¸ä¸ªVCçªå£)ï¼å°±ä¼åºç°ä½ çæ åµãè¿ç§é®é¢ä¸å¤§
UGUI源码导读
对于想了解UGUI C#源码阅读顺序的同学,我有些建议。首先,要知道UI组件的渲染需要顶点、材质和Layout数据,这与模型相似但多了Layout。unityapi源码阅读组件脚本继承自MonoBehaviour,当数据改变或组件启用时,会自动加入CanvasUpdateRegistry的更新列表。
源码大致可以分为几个部分:基础组件如Image、Text,它们包含自身数据;CanvasUpdateRegistry负责组件更新,当Canvas更新时会调用组件的方法;辅助工具如LayoutRebuilder、FontData和动画工具CoroutineTween;数据结构工具,麦语言模型源码如ListPool、ObjectPool等,虽非业务核心,但价值不容忽视;Mask与Mask2D的实现;以及EventSystem的事件处理机制,这部分我已经详细阐述过。
从基础组件开始,Graphic脚本是起点。OnEnable时会调用SetAllDirty,这里包含了组件的三个更新数据:Layout、顶点和材质。SetLayoutDirty等方法负责实际的更新,其中LayoutRebuilder是一个关键的辅助类。当Canvas更新时,c 菜单权限 源码会遍历并执行需要更新的LayoutGroup的Rebuild方法。
Image的Filled模式生成Mesh的过程是另一个看点。至于RectMask2D,其工作流程涉及挂载、子物体处理和Canvas重建后的Clip方法。Mask则通过Stencil材质实现子物体的遮罩效果。
最后,推荐关注几个实用的工具脚本,如ObjectPool用于对象管理和CoroutineTween用于动画效果。整体来看,阅读源码时,理解这些结构和流程会让你事半功倍,但需做好心理准备,仓位线控制源码因为源码可能并不包含详细的DC(详细内容)或Text的文字网格计算等具体实现。
UEFI开发环境搭建
UEFI开发环境搭建涉及软件安装、源码编译与UEFI固件运行。首先,需要安装Visual Studio ,并确保选择了合适的开发组件。接着,下载并解压IASL和NASM至根目录,注意修改edk2中的conf/tools_def.txt以适应不同路径。至此,构建EDK2的环境搭建完成。
接下来,从gitcode.com/tianocore/edk2下载源码,竞彩网源码切换至稳定版本进行编译。过程中,可能会遇到edksetup.bat脚本报错问题,这是因为Base Tools未生成。需手动编译Base Tools,注意下载并放置brotli工具源码至BaseTools/Source/C/BrotliCompreaa/brotli目录下。再次执行rebuild操作,通常能解决报错问题。
对于新版本EDK2,build工具不再使用exe版本,而是Python版本。因此,需设置Python相关变量。完成后,构建UEFI固件(如选择OVMF)二进制,通常结果为成功。
最后,将OVMF.fd文件复制至QEMU的固件库中。在相应目录下,打开CMD命令行,使用指定命令启动虚拟机,即可进入UEFI模拟环境。至此,UEFI开发环境搭建完成。
linux 下有几种安装软件的方式 假如我有一个flash的tar包在文档文件夹下
Linux下软件安装主要有三种方式,一种是源码安装,需要用户自己手动编译,另一种是RPM包(RedHat Linux Packet Manager),通过RPM命令就可以实现安装。还有一种为*.bin文件,安装方法与Windows下的安装过程类似,这里不做介绍,本文主要介绍源码安装与RPM包的安装。
一、源码包安装
1、*.src.rpm形式的源代码软件包
用法:
安装: rpm –rebuild *.src.rpm
Cd /usr/src/dist/RPMS
Rpm –ivh *.rpm
卸载: rpm –e packagename
2、.tar.gz,*.tgz,*.bz2形式软件包的安装
首先进行解压,命令如下
tar zxvf *.tar.gz
tar xvfz *.tgz
tar xvfj *.tar.bz2
解压之后进入解压目录,然后进行以下操作(一般情况,具体看软件包的文件名)
配置:./configure
编译:make
安装:make install
卸载:make uninstall
源码安装有一定的难度,不同的软件可能有不同的安装,一般在解压之后应该先阅读说明文档,按照说明进行安装,上面说的只是一般情况。
二、RPM包安装
RPM安装包格式是由Redhat公司提出的,大大的简化了Linux下软件的安装,首先介绍一下通用选项。
-v:显示附加信息
-vv:显示调试信息
--root directory:让RPM以directory作为根目录,这样预安装程序和后安装程序都会安装到这个目录下。
1、安装:rpm –i<options> file.rpm
Options:
h:安装时输出hash记号
test:只对安装进行测试,不真正安装
--persent:以百分比形式显示安装进度
--excludedocs:不安装软件包中的文档
--replacepkgs:强制重新安装
--replacefiles:替换属于其它软件包的文件
--force:忽略软件包及文档冲突
--ignorearch:不校验软件包结构
--ignoreos:不检查软件包运行的操作系统
--nodeps:不检查依赖性关系
--noscripts:不运行预安装和后安装脚本程序
2、删除 rpm –e<option> pkgname
Option:
--test:只做删除测试,不真正删除
--noscripts:不运行预安装和后安装脚本程序
--nodeps:不检查依赖性
注意:pkgname是软件包的名字,不是rpm包名字,而是安装后软件包的名字,可以用查询命令来查询软件包名。
3、升级 rpm –U(或者—upgrade)<option> file.rpm
Option:
基本与安装时的option一样,有几个特殊的:
--oldpackage:允许一个旧版本
4、查询 rpm –q(或者--query)<option>
Option:
-p PACKAGE_FILE:查询软件包的文件
-f FIEL:查询FILE属于哪个软件包
-a:查询所有安装的软件包
-g group:查询属于group组的软件包
--whatproVides CAPABILITY:查询提供了CAPABILITY功能的软件包
--whatrequires CAPABILITY:查询所有需要CAPABILITY功能的软件包
-i:显示软件包的概要信息
-l:显示软件包中的文件列表
-c:显示配置文件列表
-s:显示文件列表
-scripts:显示安装、卸载,校验脚本
--qf:以用户指定的方式查询
--dump:显示每个文件的校验信息
--proVides:显示软件包提供的功能
-R:显示软件包需要的功能
5、校验已经安装的软件包 rpm –V(or –verify, or –y)<option>
Option选项与其它命令的类似
6、校验软件包中的文件 rpm –K(or –checksig)<option> file.rpm
Option:
-v:显示版本信息
-vv:显示调试信息
--rcfile FILELIST:设置rpmrc 文件为FILELIST
7、其它RPM选项
--rebuilddb:重建RPM资料库
--initdb:创建一个新的RPM资料库
--quiet:尽可能地减少输出
--help:显示帮助文件
--version:显示RPM当前版本
上面只是对常用选项的总结,具体还有什么问题,可以用man rpm命令进行查看,官方文件永远最好的老师。
三、*.bin格式安装文件的安装
只需双击或单击*.bin文件就可以根据提示安装了,不再敷述。
本文来自CSDN博客,转载请标明出处:/yclz/archive////.aspx