我在Windows上,正在尝试提前编译
   
    Main.exe
   
   这是用Mono C编译器编译的
   
    gmcs
   
   (也尝试过)
   
    mcs
   
   )。
  
  >mono --aot Main.exe
Mono Ahead of Time compiler - compiling assembly C:\test\Main.exe 
Code: 21   Info: 4 Ex Info: 8 Class Info: 30 PLT: 2 GOT 
Info: 6 GOT Info Offsets: 8 GOT: 12 
Executing the native assembler: as C:\DOCUME~1\MigueldeIcaza\LOCALS~1\Temp\mono_aot_D2 ID2U -o C:\DOCUME~1\MigueldeIcaza\LOCALS~1\Temp\mono_aot_D2ID2U.o 
Executing the native linker: gcc -shared --dll -mno-cygwin -o C:\test\Main.exe.dll C:\DOCUME~1\MigueldeIcaza\LOCALS~1\Temp\mono_aot_D2ID2U.o 
Compiled 2 out of 2 methods (100%) Methods without GOT slots: 2 (100%) 
Direct calls: 0 (100%) JIT time: 0 ms, Generation time: 0 ms, 
Assembly+Link time: 319 ms. GOT slot distribution:
image: 1
  
   但这产生了
   
    Main.exe.dll
   
   我想要一个
   
    可执行文件
   
   .
有可能吗?
  
  
   
    更新:
   
  
  
   我通过写保护截获了AOT/构建过程
   
    MI. EX.DLL
   
   现在我有了
   
    mono_aot_FZKP2U.o
   
   但仍然没有运气:
  
  >gcc -o Main2.exe mono_aot_FZKP2U.o
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x104): 
undefined reference to `WinMain@16'
collect2: ld returned 1 exit status`
  
   
    更新2009-10-30:
   
  
  
   在阅读了jb evains的答案之后,我再次尝试用mono运行main.exe.dll,但没有成功。
  
  C:\test>mono Main.exe.dll
Mono-INFO: Assembly Loader probing location: 'C:\PROGRA~1\MONO-2~1.3\lib\mono\1.
0\mscorlib.dll'.
Mono-INFO: Image addref mscorlib 003E5F48 -> C:\PROGRA~1\MONO-2~1.3\lib\mono\1.0
\mscorlib.dll 00B42BC0: 2
Mono-INFO: AOT failed to load AOT module C:\PROGRA~1\MONO-2~1.3\lib\mono\1.0\msc
orlib.dll.dll: The system cannot find the file specified.
Mono-INFO: Assembly Loader loaded assembly from location: 'C:\PROGRA~1\MONO-2~1.
3\lib\mono\1.0\mscorlib.dll'.
Mono-INFO: Config attempting to parse: 'C:\PROGRA~1\MONO-2~1.3\lib\mono\1.0\msco
rlib.dll.config'.
Mono-INFO: Config attempting to parse: 'C:\PROGRA~1\MONO-2~1.3\lib\..\etc\mono\a
ssemblies\mscorlib\mscorlib.config'.
Mono-INFO: Assembly mscorlib 003E5F48 added to domain Main.exe.dll, ref_count=1
Mono-INFO: Config attempting to parse: 'C:\PROGRA~1\MONO-2~1.3\lib\..\etc\mono\c
onfig'.
Mono-INFO: Assembly Loader probing location: 'Main.exe.dll'.
Cannot open assembly 'Main.exe.dll': File does not contain a valid CIL image.
Mono-INFO: Unloading domain Main.exe.dll 00B04EA0, assembly mscorlib 003E5F48, r
efcount=1
Mono-INFO: Unloading assembly mscorlib [003E5F48].
Mono-INFO: Unloading image C:\PROGRA~1\MONO-2~1.3\lib\mono\1.0\mscorlib.dll [00B
42BC0].