GG修改器破解版下载地址:https://ghb2023zs.bj.bcebos.com/gg/xgq/ggxgq?GGXGQ
大家好,今天小编为大家分享关于gg修改器内存加速游戏代码_gg修改器加快游戏速度的内容,赶快来一起来看看吧。
InferSharp 将Infer的可扩展、自动化和过程间内存安全分析引入 .NET 平台。这项工作有两个关键的知识组成部分,在下图中以绿色突出显示。

当今市场上可用的 .NET内存安全分析中的大部分工作是过程内的(分析仅限于单个方法的上下文)或依赖于开发人员注释。例如,PreFast检测到一些空解引用异常和内存泄漏的实例,但它的分析纯粹是过程内的。同时,JetBrains Resharper严重依赖开发人员注释进行内存安全验证。
相比之下,像Infer这样的过程间分析器会考虑不同方法的上下文,从而可以检测到更微妙的问题。此外,它是自动化的(它不依赖于开发人员注释),并通过分析增量更改在大型生产代码库上有效扩展。它使用分离逻辑(一种用于推理计算机内存操作的程序逻辑)来证明某些内存安全条件。为此,它利用了Smallfoot谓词框架,该框架以 Smallfoot 中间语言 ( SIL ) 表示。
使 Infer 能够分析 .NET 源代码的核心问题是将其转换为 SIL,即 Infer 分析的语言。为此,源语言结构需要在 OCaml 中表示。InferSharp 通过引入与语言无关的中间层简化了这项任务,该层缓解了其他翻译方法中存在的与语言相关的挑战。
在 C 语言翻译管道中,抽象语法树 (AST) 被导出为 JSON 格式,通过 atdgen 库从中提取类型定义并在 OCaml 中进行翻译。在 Java 管道中,称为 Javalib 的 OCaml 库用于提取 Java 字节码类型定义。然后将这些类型定义翻译成 OCaml。这种方法存在以下主要缺点:
由于这些原因,我们引入了 SIL 的与语言无关的 JSON 序列化,以及一个反序列化包,该包在 OCaml 中提取 SIL 数据结构。然后,Infer 的后端分析直接使用输出。
从源代码的低级表示开始工作的优点有两个:首先,CIL 是所有 .NET 语言的基础(例如除了最常见的 C# 之外的 Visual Basic 和 F#),因此 InferSharp 支持所有 .NET 语言通过这种方式,其次,CIL 去除了任何语法糖,从而减少了翻译所需的语言内容,从而简化了翻译。
此表示的主要组件是类型环境和控制流图 (CFG)。有关说明这些组件的示例,请参阅示例翻译。
我们现在更详细地讨论管道的实现。.NET 二进制文件首先使用Mono.Cecil库反编译成 CIL ,然后我们从中检索可用的类型定义和方法指令。类型定义信息包括:
为软件项目中出现的所有类型以及这些类型继承的所有类检索此信息。每种类型都作为一个条目存储在 JSON 文件中,我们称之为类型环境。
第二个组件是控制流图。对于软件项目中的每个过程,管道生成一个过程描述,该描述由方法信息(全名、参数、返回类型和局部变量)以及节点列表(包含后继/前驱边)组成信息)组成程序。这些节点由翻译管道产生。它遍历每条指令并将其解析为相应的 SIL 指令。这些翻译后的指令被添加到 CFG 节点,而 CFG 节点又被添加到 CFG 节点列表中。生成的过程描述由节点 ID 列表和过程元数据组成,然后作为条目存储在 CFG JSON 中。
换句话说,控制流图由三个概念组件组成:
在本节中,我们将展示一个翻译管道如何运作的示例。在此示例中,我们考虑如下所示的源代码:
public void InitializeInstanceObjectField(bool initializeToNull)
=> InstanceObjectField = initializeToNull ? null : new TestClass();
它对应的字节码是:
.method public hidebysig instance void
InitializeInstanceObjectField(bool initializeToNull) cil managed
{
// Code size 18 (0x12)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: brtrue.s IL_000b
IL_0004: newobj instance void Cilsil.Test.Assets.TestClass::.ctor()
IL_0009: br.s IL_000c
IL_000b: ldnull
IL_000c: stfld class Cilsil.Test.Assets.TestClass Cilsil.Test.Assets.TestClass::InstanceObjectField
IL_0011: ret
} // end of method TestClass::InitializeInstanceObjectField
管道生成的部分类型环境 JSON 如下所示。它描述了 TestClass 类,其中包括对其实例和静态字段的描述。在这种情况下,字段也是对象;这表明它们被标识为结构化数据类型(“Tstruct”)的指针类型(“Tptr”)。
{
"type_name": {
"csu_kind": "Class",
"name": "Cilsil.Test.Assets.TestClass",
"type_name_kind": "CsuTypeName"
},
"type_struct": {
"instance_fields": [
{
"field_name": "Cilsil.Test.Assets.TestClass.InstanceObjectField",
"type": {
"kind": "Pk_pointer",
"type": {
"struct_name": "Cilsil.Test.Assets.TestClass",
"type_kind": "Tstruct"
},
"type_kind": "Tptr"
},
"annotation": {
"annotations": []
}
},
{
"field_name": "Cilsil.Test.Assets.TestClass.InstanceArrayField",
"type": {
"kind": "Pk_pointer",
"type": {
"content_type": {
"kind": "Pk_pointer",
"type": {
"struct_name": "Cilsil.Test.Assets.TestClass",
"type_kind": "Tstruct"
},
"type_kind": "Tptr"
},
"type_kind": "Tarray"
},
"type_kind": "Tptr"
},
"annotation": {
"annotations": []
}
}
],
"static_fields": [
{
"field_name": "Cilsil.Test.Assets.TestClass.StaticObjectField",
"type": {
"kind": "Pk_pointer",
"type": {
"struct_name": "Cilsil.Test.Assets.TestClass",
"type_kind": "Tstruct"
},
"type_kind": "Tptr"
},
"annotation": {
"annotations": []
}
},
字节码到 CFG 的转换操作如下:
我们生产的 CFG 如下图所示。在任何给定的 CFG 中,节点与整数标识符、前驱节点标识符列表(“preds”)、后继节点标识符列表(“succs”)和异常节点标识符列表(“exn”)相关联.
n$0 表示TestClass 指针“this”的值,n$1 表示布尔变量initializeToNull 的值。与 C 的语法类似,表达式 *n$0.Cilsil.Test.Assets.TestClass.InstanceObjectField 表示 null 存储在 n$0 的 InstanceObjectField 中。
PRUNE 节点根据 n$1 的真值指示控制流。
node16586的指令与对象分配相关;首先,大小为 TestClass 的内存被分配并由 n$2 标识。然后,在分配的内存上调用 TestClass 的构造函数。最后,这个新分配的对象的指针被赋值为 n$0 的 InstanceObjectField 的值。
node16583 preds: 16580 succs: 16584 16585 exn: 16582 MethodBody
n$0=*&this:Cilsil.Test.Assets.TestClass* [Line 41];
n$1=*&initializeToNull:bool [Line 41];
node16584 preds: 16583 succs: 16581 exn: 16582 MethodBody
PRUNE (n$1, True) [Line 41];
*n$0.Cilsil.Test.Assets.TestClass.InstanceObjectField:Cilsil.Test.Assets.TestClass:Cilsil.Test.Assets.TestClass=null [Line 41];
node16585 preds: 16583 succs: 16586 exn: 16582 MethodBody
PRUNE (!(n$1):, False) [Line 41];
node16586 preds: 16585 succs: 16581 exn: 16582 Call
n$2:Cilsil.Test.Assets.TestClass*=_fun static BuiltIn.__new() (sizeof(Cilsil.Test.Assets.TestClass, exact):Cilsil.Test.Assets.TestClass*) [Line 41];
n$3:void=_fun System.Void Cilsil.Test.Assets.TestClass..ctor() (n$2:Cilsil.Test.Assets.TestClass*) [Line 41];
*n$0.Cilsil.Test.Assets.TestClass.InstanceObjectField:Cilsil.Test.Assets.TestClass:Cilsil.Test.Assets.TestClass=n$2 [Line 41];
然后通过 Infer 分析 CFG 以生成错误报告。例如,在以下引用上述方法的代码中:
public void TestMethod()
{
TestClass Tc;
Tc = new TestClass();
Tc.InitializeInstanceObjectField(true);
_ = Tc.InstanceObjectField.GetHashCode();
}
Infer 最终在程序间检测到它Tc.InstanceObjectField为 null,其取消引用构成错误:
Assets/TestCode.cs:14: error: NULL_DEREFERENCE (biabduction/Rearrange.ml:1622:55-62:)
[B5] pointer `%0->Cilsil.Test.Assets.TestClass.InstanceObjectField` could be null and is dereferenced at line 14, column 1.
12. Tc = new TestClass();
13. Tc.InitializeInstanceObjectField(true);
14. > _ = Tc.InstanceObjectField.GetHashCode();
以上就是关于gg修改器内存加速游戏代码_gg修改器加快游戏速度的全部内容,希望对大家有帮助。

gg修改器安全版下载中文_gg修改器中文下载 大小:10.69MB9,854人安装 大家好,今天小编为大家分享关于gg修改器安全版下载中文_gg修改器中文下载的内容,……
下载
手机不root怎么用gg修改器,怎么不root用gg修改器 大小:11.96MB9,807人安装 推荐星级: GG修改器免root版APP是一款非常实用的安全无病毒游戏参数修改应用,GG修……
下载
gg游戏修改器怎么设置中文,如何设置 GG游戏修改器中文 大小:15.11MB8,408人安装 GG游戏修改器是一款非常好用的游戏辅助工具,可以支持各种主流游戏,并且有着强大的……
下载
Gg修改器王者荣耀下载,王者荣耀gg修改器下载安装 大小:1.20MB9,010人安装 别让生活的压力挤走快乐,不管昨天发生了什么,不管昨天的自己有多难堪,有多无奈,……
下载
小米gg修改器怎么获得root,小米GG修改器:让你轻松获得Root权限 大小:6.60MB8,914人安装 小米GG修改器是一款非常实用的软件,它可以帮助用户轻松获得Root权限。这个过程非常……
下载
gg游戏修改器下载苹果,gg游戏修改器下载苹果:打造完美游戏体验 大小:10.17MB8,374人安装 玩家们都是游戏的主角,每个玩家都希望自己能够在游戏世界里体验到最完美的游戏体验……
下载
gg修改器免费root版,gg修改器最新免root版中文 大小:5.68MB9,950人安装 gg修改器免费root版这个gg修改器在权限上做了特别的修改,可以作为客户端应用任意修……
下载
光遇gg修改器中文版,光遇gg修改器最新版 大小:4.80MB9,837人安装 光遇修改器物品全解锁v3.8.2 就是在游戏中玩家之间的好友,可以互相通过赠送3个蜡烛……
下载
gg游戏修改器怎么改钻石,GG游戏修改器钻石修改,让你所向披靡 大小:8.91MB8,309人安装 在众多的游戏中,我们常常会遇到需要大量钻石的情况,这时许多玩家会选择通过充值来……
下载
gg游戏修改器 脚本,GG游戏修改器脚本:让游戏成为您掌控的舞台 大小:15.84MB8,382人安装 如果您是游戏玩家,想要在游戏中更加轻松自如地发挥,那么GG游戏修改器脚本绝对是您……
下载