簡體   English   中英

OS X和Linux之間的差異(C / C ++)

[英]Differences between OS X and Linux (C/C++)

我在學校有一門課程,我們用Linux下的C / C ++編寫代碼。 我們主要使用線程,信號量,進程(fork(),pipes()等),IPC進行服務器/客戶端應用程序。 我有一台MacBook,我真的不想強迫它運行Ubuntu(我們在學校使用),所以我想問我可以在Mac上開發,然后把代碼帶到Linux並用g ++編譯嗎?

現在我能夠這樣做,但我不確定將來會不會遇到問題。 例如,在Windows分支和套接字以完全不同的方式完成,所以我只想知道差異在哪里(OS X與Ubuntu)知道我需要在Linux下編寫特定代碼。

OS X是基於Unix的(如Linux),並且遵循POSIX(在某種程度上)。 如果您使用OS X中提供的POSIX函數,則在Linux下運行代碼時應該沒有(或最少)問題。

但事實恰恰相反,因為Linux遵循POSIX的程度要高得多,並且(幾乎)符合最新的POSIX標准,而OS X則不支持更新的版本。 此外,GNU對POSIX工具和庫提供了許多擴展,這些擴展可能在OS X上不可用。

簡而言之,在Linux下,您可以使用更多最新且功能豐富的庫。 但是,在OS X中找到的POSIX的老舊功能也可以在Linux中使用。 因此,只要您堅持標准行為,通常就不會有問題。

兩者都是類UNIX的環境。 因此,只要您的代碼遵循POSIX標准,您就不應該遇到麻煩。 但是,我強烈建議您在開發的不同階段在Ubuntu上測試代碼。 但是,不要指望在Linux下找到Apple庫調用(反之亦然)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM