2016-09-30 217 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

再次感謝一堆! –