由于我正在编写一个最终将在从相同项目文件编译的 Windows 和 Linux 环境上运行的程序,因此我想测试一下操作系统指令的性能如何。所以,我写了一个示例代码。代码似乎意外运行,或者只是我的想象。
这是代码:
method MainForm.ControlBtn_Click(sender: System.Object; e: System.EventArgs);
begin
{$IFDEF linux}
MessageBox.Show('This is Linux. Horay!!!', 'mypro',MessageBoxButtons.yesno);
{$ENDIF}
{$IFDEF WIN32}
MessageBox.Show('This is Win32. Horay!!!', 'mypro',MessageBoxButtons.yesno);
{$ENDIF}
{$IFDEF CLR}
MessageBox.Show('This is .NET Framework. Horay!!!', 'mypro',MessageBoxButtons.yesno);
{$ENDIF}
end;
现在,当我在 Windows 上运行此方法时,它会弹出一个带有“这是 .NET Framework”的消息框。万岁!!!' 我有点期待它在 Windows 上运行。当我在 Mono 下的 Linux 上运行它时,它会弹出一个带有相同消息的消息框,“这是 .NET FrameWork。万岁!!!” 我期待看到 Linux 消息,即“这是 Linux。万岁!!!” 如果此代码工作正常,那么如果您确实需要执行仅受 Linux、Mac 或 Windows 支持的不同方法,您如何检查程序运行在哪个平台上。