Tag: native code

nativeGetUninitializedObject实际存在于何处?

我对一些序列化的东西感到好奇,所以我去了FormatterServices ,发现了一个名为nativeGetUninitializedObject的方法,它实际上处理给定类型的初始化(不调用custructor)。 此方法使用extern关键字和以下属性进行修饰: [MethodImpl(MethodImplOptions.InternalCall), SecurityCritical] 我想知道:这种方法实际存在于何处? CLR调用什么代码来获取给定类型的初始化(不调用构造函数)?

如何使用ngen.exe进行编译以及如何运行生成的本机代码?

我想使用ngen命令行编译一个C#程序用于特殊目的。 所以我在VS2010中创建了一个控制台应用程序并命名为ngentest 。 在vs2010\projects\ngentest\bin\debug创建名为ngentest.vshost.exe的文件。 我在VS2010命令提示符中使用此文件作为ngen命令参数,如下所示: ngen “c:\documents\vs2010\projects\ngentest\bin\debug\ngentest.vshost.exe” 但是当我这样做时,我无法接收PublicKeyToken ,我无法在任何地方找到任何组件! 如果我的程序集已创建,它在哪里? 我怎么能找到它? 我如何运行它(使用命令,或……!)来获取输出? 否则,当我从VS的Build菜单中使用build ngen构建我的项目时,会在提到的目录中创建一些文件,其中一个是ngentest.exe 。