我正在学习 C#,所以我做了一个 C# 小程序,上面写着Hello, World!,然后用以下命令编译mono-csc并运行它mono:
$ mono-csc Hello.cs
$ mono Hello.exe
Hello, World!
Run Code Online (Sandbox Code Playgroud)
我注意到当我TAB输入bash,Hello.exe被标记为可执行文件。事实上,它只通过一个加载文件名的 shell 运行!
Hello.exe是不是有一个有趣的文件扩展名的ELF文件:
$ readelf -a Hello.exe
readelf: Error: Not an ELF file - it has the wrong magic bytes at the start
$ xxd Hello.exe | head -n1
00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 MZ..............
Run Code Online (Sandbox Code Playgroud)
MZ意味着它是 Microsoft Windows 静态链接的可执行文件。把它放到一个 Windows 盒子上,它就会(应该)运行。
我已经wine安装了,但是wine,是用于的Windows应用程序的兼容层,需时约5倍,只要运行 …
当 Linux 系统中发生页面错误时,中断处理程序必须找出页面错误发生的原因。但是怎么样?