Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS C#解释与代码生成_C#_Ios_Xamarin.ios_Interpreter_Aot - Fatal编程技术网

iOS C#解释与代码生成

iOS C#解释与代码生成,c#,ios,xamarin.ios,interpreter,aot,C#,Ios,Xamarin.ios,Interpreter,Aot,我了解到不可能在iOS上发出IL代码,因此表达式是使用AOT选项预编译的,并且解释了无法AOT的表达式s。我的问题是,为什么iOS允许解释而不允许运行时代码生成,除了性能之外,它不一样吗。为什么解释不是安全问题,而代码生成是安全问题?解释器,顾名思义,允许您在运行时解释应用程序的某些C部分,同时像往常一样提前编译其余部分 在Xamarin.iOS中调用的生成器,使用这些定义文件并使用.NET工具来创建。但是,此临时程序集不能用于调用Objective-C代码。生成器然后读取临时程序集并生成可在运

我了解到不可能在iOS上发出IL代码,因此表达式是使用AOT选项预编译的,并且解释了无法AOT的
表达式
s。我的问题是,为什么iOS允许解释而不允许运行时代码生成,除了性能之外,它不一样吗。为什么解释不是安全问题,而代码生成是安全问题?

解释器,顾名思义,允许您在运行时解释应用程序的某些C部分,同时像往常一样提前编译其余部分

在Xamarin.iOS中调用的生成器,使用这些定义文件并使用.NET工具来创建。但是,此临时程序集不能用于调用Objective-C代码。生成器然后读取临时程序集并生成可在运行时使用的C代码

为什么解释不是安全问题,而是代码生成问题

这就是为什么,例如,如果将随机属性添加到definition.cs文件中,它将不会显示在输出的代码中。生成器不知道它,因此
b触摸
不知道在临时程序集中查找它以输出它

参考链接:,