2016-09-30 220 views
0

想要使用某些Microsoft特定工具进行练习;特别是winsock2.h。我知道单声道可以用来制作C#程序,但是在安装之前,我希望知道它是否可以做更多的事情。在Mac上,Mono可以用来构建winsock2.h?

+0

在Mac上,不,它不能。 OSX不会执行'winsock2.h',这是一个Windows特定的库。 – Petesh

+0

这意味着双启动与Windows在我唯一的选择,呃? –

+0

或者vmware,或者parallels或者virtualbox。如果你想试用win32 API,那么你需要一个windows系统。 – Petesh

回答

1

对于像winsock2.h这样的API,您正在讨论直接的win32 API和相关库。

Mono/C#通过语言运行时提供更高级别的网络API,无需使用这些底层的,特定于平台的API。

因此,您不能在Mac上通过Mono使用C#winsock2.hAPIS一起使用。底层的库和代码根本不会在那个平台上。你真的需要使用Windows系统来处理它们,在这种情况下,使用它们时使用C/C++会更容易。

一些潜在的方法来对在Mac上的Win32 API的工作是:使用VM

  • 虚拟化 - 例如VirtualBox的,VMware的,平行使用集训
  • 双启动(您可以到VM启动你的训练营分区,而仍在运行OSX,而​​这几乎是一样的虚拟化,你只是节省磁盘空间)

可能尝试使用wine来模拟windows APIs,但是我甚至没有考虑过这种努力可能会超过这个好处,并且你仍然会写出C/C++代码。

+0

再次感谢一堆! –