IL
  • 2024-06-20UC2288 是一种新型、具有细胞渗透性和口服活性的 p21 衰减剂 | MedChemExpress (MCE)
    UC2288CAS:1394011-91-6品牌:MedChemExpress(MCE)存储条件:Powder:-20°C,3years;4°C,2years.Insolvent:-80°C,6months;-20°C,1month.生物活性:UC2288是一种新型、具有细胞渗透性和口服活性的 p21 衰减剂(对p21具有相对选择性的活性),它是基于索拉非尼(HY-
  • 2024-06-20WinDbg: SOSEX 下载,加载和使用帮助
    SOSex是SOS的扩展,由SteveJohnson开发,他是微软的一个员工,开发并免费提供了SOSexfordownload的下载,但该软件并不开源。通常,该扩展不能与其他DLL并行使用,一般使用.loadx:\full\path\tososex.dll来加载。除了简化.NET的调试外,使用命令!dlk还可以在本机环境中用于
  • 2024-06-16Android Media Framework(五)Tunnel Mode
    本篇将聚焦AndroidTunnelMode,详细解析组件之间隧道连接过程、数据传递过程、组件销毁过程。通过阅读本篇内容,我们应能对tunneled组件的连接过程和buffer分配过程有所了解。1、TunnelMode介绍ILSpec详细描述了TunnelComponent的实现方式,但内容较为晦涩难懂,网上相关
  • 2024-06-11Android Media Framework(五)Tunnel Mode
    本篇将聚焦AndroidTunnelMode,详细解析组件之间隧道连接过程、数据传递过程、组件销毁过程。通过阅读本篇内容,我们应能对tunneled组件的连接过程和buffer分配过程有所了解。1、TunnelMode介绍ILSpec详细描述了TunnelComponent的实现方式,但内容较为晦涩难懂,网上相关的资料
  • 2024-06-08Android Media Framework(四)Non-Tunneled组件的状态转换与buffer分配过程分析
    本篇将继续深入OpenMAXILSpec,详细解析Non-tunneled(非隧道)组件的初始化、数据传递以及组件销毁过程。通过阅读本篇内容,我们应能对Non-tunneled组件的buffer分配与状态转换过程有一个清晰的了解。1、组件初始化以下是ILSpec给的Non-tunneled组件初始化时序图:ILClient首先
  • 2024-06-06Android Media Framework(二)OpenMAX 类型阅读与分析
    OMXILSpec将API划分为ControlAPI、DataAPI、ExtensionAPI,所谓ControlAPI指的是ILClient用于控制组件的接口,包含调用OMXCore和OMXComponent要用的接口与相关结构体,这一篇我们将重点阅读与ControlAPI相关的宏、结构体与枚举。1、OMXIL目录结构OMXILAPI由一组头文件
  • 2024-06-06内存优化:Boxing
    dotMemory如今,许多开发人员都熟悉性能分析的工作流程:在分析器下运行应用程序,测量方法的执行时间,识别占用时间较多的方法,并致力于优化它们。然而,这种情况并没有涵盖到一个重要的性能指标:应用程序多次GC所分配的时间。当然,你可以评估GC所需的总时间,但是它从哪里来,如何减少呢?“普通
  • 2024-06-05CF 896 E
    link首先,感觉这个题很难用数据结构维护,所以可以想到分块(其实也是因为数据范围\(10^5\)比较小)。第一个想法可能是一个块内维护每一个不同的数出现了多少次,但是发现这样减一个数的时候很难合并,没办法优化。然后就有一个事实,就是同一个块内当一起修改的时候,相同的数也一直会相同
  • 2024-05-30科学与社会研讨课部分代码保存——树上操作拓展
    #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;#define_for(i,a,b)for(registerint(i)=(a);(i)<=(b);(i)++)#defineFor(i,a,b)for(registerint(i)=(a);(i)>=(b);(i)--)#defineINF0x7fffffff
  • 2024-05-28Android Media Framework(一)OpenMAX框架简介
    学习开源代码最快的方式是先阅读它的文档,再查看它的头文件,最后研读代码实现并进行编译调试。Android早期引入OpenMAXIL作为使用音视频编解码器的标准接口,了解AndroidMedia框架的底层运行原理要从OMXIL开始。在这一节,我们将阅读整理OpenMAXILSpec中的介绍和架构部分,以便对整
  • 2024-05-04集训 4 & 模拟 5
    集训4&模拟5有点唐简单,所以一起写了(其实是因为之前懒得写)集训4:T1模拟,赛时不删调试保龄了。T2显然贪心T3发现显然要两两互质,有因为父比子小,所以方案数就是将\(\varphi\)乘起来(甚至都不需要线性筛)T4meetinmiddle板子。模拟5T1特殊字符串显然有\(n^2\)
  • 2024-04-25dotnet 警惕 C# 的 is var 写法
    本文将和大家介绍C#语言设计里面,我认为比较坑的一个语法。通过isvar的写法,会让开发者误以为null是不被包含的,然而事实是在这里的var是被赋予含义的,将被允许null通过判断逻辑,于是就会让开发者收到了奇怪的空异常比如看看以下的代码,大家猜猜控制台是否会输出IFoo?foo
  • 2024-04-18Unity性能优化——托管堆/GC
    了解托管堆许多Unity开发者面临的另一个常见问题是托管堆的意外扩展。在Unity中,托管堆的扩展比收缩容易得多。此外,Unity的垃圾收集策略往往会使内存碎片化,因此可能阻止大型堆的收缩。托管堆的工作原理及其扩展原因“托管堆”是由项目脚本运行时(Mono或IL2CPP)的内存管理器
  • 2024-04-17【.NET】利用 IL 魔法实现随心随意的泛型约束
    众所周知,C#只支持对基类/接口/class/struct/new()以及一些IDE魔法的约束,比如这样publicstaticstringTest<T>(Tvalue)whereT:ITest{returnvalue.Test();}publicinterfaceITest{stringTest();}但是如果我们想要随心所欲的约束就不行了publicst
  • 2024-04-16IL 相关读论文记录
    读读读RILIR链接:https://arxiv.org/pdf/2310.14274.pdf本文主要是对IRL的改进。首先,设计了一个提取关键信息的网络\(\phi(o_t)\)来克服原始IRL中expert数据所在环境和learning环境不一样的问题。接着,再设计了一个网络\(f_\theta(\phi(o_t),\phi(o_{t+1}))\)来预
  • 2024-04-15.NET Emit 入门教程:第六部分:IL 指令:8:详解 ILGenerator 指令方法:类型转换指令
    前言:经过前面几篇的学习,我们了解到指令的大概分类,如:参数加载指令,该加载指令以 Ld开头,将参数加载到栈中,以便于后续执行操作命令。参数存储指令,其指令以St开头,将栈中的数据,存储到指定的变量中,以方便后续使用。创建实例指令,其指令以New开头,用于在运行时动态生成并初始化对
  • 2024-04-12.NET Emit 入门教程:第六部分:IL 指令:7:详解 ILGenerator 指令方法:分支条件指令
    前言:经过前面几篇的学习,我们了解到指令的大概分类,如:参数加载指令,该加载指令以 Ld开头,将参数加载到栈中,以便于后续执行操作命令。参数存储指令,其指令以St开头,将栈中的数据,存储到指定的变量中,以方便后续使用。创建实例指令,其指令以New开头,用于在运行时动态生成并初始化对
  • 2024-04-09Splay 板子
    普通:bool_Start;#include<bits/stdc++.h>usingnamespacestd;#defineilinline#defineTptemplate<typenameT>#defineTstemplate<typenameT,typename..._T>Tpilvoidread(T&x){ x=0;boolf=0;charc=getchar(); for(;!isdigit(c)
  • 2024-04-07.NET Emit 入门教程:第六部分:IL 指令:5:详解 ILGenerator 指令方法:创建实例指令
    前言:上上篇介绍了 IL 指令的分类以及参数加载指令,该加载指令以 Ld开头,将参数加载到栈中,以便于后续执行操作命令。上一篇介绍参数存储指令,其指令以St开头,将栈中的数据,存储到指定的变量中,以方便后续使用。本篇将介绍创建实例指令,其指令以New开头,用于在运行时动态生成并初
  • 2024-04-02.NET Emit 入门教程:第六部分:IL 指令:3:详解 ILGenerator 指令方法:参数加载指令
    前言:在上一篇中,我们介绍了ILGenerator辅助方法。本篇,将详细介绍指令方法,并详细介绍指令的相关用法。在接下来的教程,关于IL指令部分,会将指令分为以下几个分类进行讲解:1、参数加载指令:ld开头的指令,单词为:loadargument2、参数存储指令:st开头的指令,单词为:store3、创建实
  • 2024-03-20.NET Emit 入门教程:第一部分:Emit 介绍
    前言:Emit 是开发者在掌握反射的使用后,进阶需要的知识,它能显著的改善因反射带来的性能影响。目前能搜到的Emit的相关文章,都是一篇系列,通常推荐对照着反绎后的 IL 编写Emit代码,门槛太高。借着优化CYQ.Data 时使用Emit 的心得体会及记忆,写个简单的入门教程,以帮助后来者
  • 2024-03-09P10238 [yLCPC2024] F. PANDORA PARADOXXX 题解
    分析考虑时光倒流。对于需要合并的两个连通块\(x,y\),其合并之后的最远点对距离一定是合并之前的两组点对中产生的。在合并的时候枚举点对,取距离最大值即可。由于我们是倒着来的,所有连通块的最远点对距离最大值不减,所以能直接在合并之后取最大值。维护连通块用并查集即可。复杂
  • 2024-03-09P10237 [yLCPC2024] E. Latent Kindom 题解
    分析一眼了非最优解。考虑二分答案。对于二分出来的中位数\(x\),到\(a_i\)和\(a_j\)里边又去二分。得到两个序列中不超过\(x\)的数的数量。若这个数量\(cnt\ge\lceil\frac{len_{i}+len_{j}}{2}\rceil\),则\(x\)可能成为中位数,然后继续二分即可。把序列离散化,复杂度
  • 2024-03-08联合省选 2024 解题报告
    明明每一题都很会,为何还打得这么菜。D1T1季风将位移拆成两类考虑:一类是风被动产生的,一类是人主动产生的。前者我们以\((x,y)\)为起点考虑位移,后者以\((0,0)\)为起点考虑位移。枚举\(m\bmodn\),记\(N=\lfloor\fracmn\rfloor\)。若存在余数为\(i\)的合法步数,等价于存
  • 2024-03-07使用ilasm 和 ildasm编译和反编译工具对DLL文件修改
    目录前言一、使用ildasm反编译dll文件二、使用ilasm将il文件编译成dll或exe文件前言文本讲述怎么通过ildasm工具将dll文件进行反编译为il文件,修改il文件后再如何通过ilasm工具将il文件反编译成dll或exe文件。ildasm工具:用于将dll文件反编译成可读