1
.Net类可以编译为共享库(.dll)。单声道类可以编译到Linux(.so)中的共享库吗?怎么样?Mono Class作为共享库吗?
.Net类可以编译为共享库(.dll)。单声道类可以编译到Linux(.so)中的共享库吗?怎么样?Mono Class作为共享库吗?
净.dll
文件不是真实,即天然,共享库。默认情况下,Mono还生成并使用.dll
文件,使用与Microsoft .Net相同的汇编格式。这两个运行时在运行时都会从此中间格式生成本机代码。
但是,可以执行AOT编译并将生成的.so
文件保存到磁盘(Microsoft .Net相当于这是ngen.exe
本机映像生成和缓存)。当您使用--aot
标志调用Mono时,它将以.so
库的形式保存本机代码,并在再次加载相同文件时使用它。您可能还需要添加-O=all
标志以启用所有优化(其中一些优化默认情况下处于禁用状态,因为它们执行起来很昂贵)。
但是,请记住,缓存的本机库可能无法用于链接到本机程序。