簡體   English   中英

使用cygwin在c中編程

[英]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的:

優點 -

  1. 在cygwin下使用gcc編譯C代碼將生成一個Windows可執行文件,它使用動態鏈接到您的應用程序/代碼的cygwin.dll(Posix仿真層)。 因此,如果您需要從其他路徑或其他Windows機器執行此應用程序,應該安裝cygwin並在其路徑中出現錯誤。

  2. Cygwin提供了一個好處,如果你有一個在Linux-gcc上開發的POSIX兼容代​​碼,你可以編譯它而不需要在Windows上進行任何更改(在某些情況下幾乎沒有變化)。 所以它在Windows上提供了Posix兼容性。

缺點 -

  1. 如果你打算運行一些會消耗大量系統資源(內存,CPU),那么不確定cygwin與Linux上的本機可執行文件相比會如何擴展。

  2. 有時,在cygwin上使用ddd調試,我發現了一些奇怪的崩潰/掛起的ddd。

GCC-Linux的:

  1. 如果您的最終應用程序將在Linux上執行,那么在相同的環境下編譯和調試它是有意義的。 Linux的海灣合作委員會。

  2. 對於調試,linux會為你提供很多工具(gdb / ddd,valgrind)等。

  3. 如果你想加速一些關鍵代碼,在linux下使用內聯匯編和gcc很好地定義並且沒有問題。(Udner Cygwin,我有時會遇到編譯內聯匯編是個問題)

  4. 如果你想在多個處理器/內核上添加多個線程來執行,那么pthreads會幫助你(不確定同一個udner cygwin)

暫無
暫無

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

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