[英]Programming in c using cygwin
我打算在Windows上使用cygwin進行編程。 與在ubuntu中使用gcc相比,這是否有任何性能缺陷?
我在Windows 7和Windows 2008 R2上使用Cygwin進行C開發。 經驗很痛苦:不僅速度慢,而且我從未設法讓我的首選編輯器(Emacs)在Cygwin中正常工作。
您可以嘗試使用USB記憶棒啟動的Linux現場發行版。 這樣你就可以用C語言編寫內容,而無需在PC上安裝任何軟件。 如果采用這種方法,我會推薦Puppy Linux 。
或者,您可以安裝虛擬化產品(如VirtualBox )並創建Linux VM。 在那種情況下,我建議使用Ubuntu。
我的經驗是,實時發行版或VM方法比使用Cygwin作為開發環境要好。
你不會得到完全相同的表現。 但這是否是一個缺點取決於你在做什么。
還有很多事情要理解:
GCC-Cygwin的:
優點 -
在cygwin下使用gcc編譯C代碼將生成一個Windows可執行文件,它使用動態鏈接到您的應用程序/代碼的cygwin.dll(Posix仿真層)。 因此,如果您需要從其他路徑或其他Windows機器執行此應用程序,應該安裝cygwin並在其路徑中出現錯誤。
Cygwin提供了一個好處,如果你有一個在Linux-gcc上開發的POSIX兼容代碼,你可以編譯它而不需要在Windows上進行任何更改(在某些情況下幾乎沒有變化)。 所以它在Windows上提供了Posix兼容性。
缺點 -
如果你打算運行一些會消耗大量系統資源(內存,CPU),那么不確定cygwin與Linux上的本機可執行文件相比會如何擴展。
有時,在cygwin上使用ddd調試,我發現了一些奇怪的崩潰/掛起的ddd。
GCC-Linux的:
如果您的最終應用程序將在Linux上執行,那么在相同的環境下編譯和調試它是有意義的。 Linux的海灣合作委員會。
對於調試,linux會為你提供很多工具(gdb / ddd,valgrind)等。
如果你想加速一些關鍵代碼,在linux下使用內聯匯編和gcc很好地定義並且沒有問題。(Udner Cygwin,我有時會遇到編譯內聯匯編是個問題)
如果你想在多個處理器/內核上添加多個線程來執行,那么pthreads會幫助你(不確定同一個udner cygwin)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.