
尋找為 C 開發建立便利且高效的開發環境的想法。我發現使用 Vim 進行 C 編輯非常有幫助,但我想獲得更廣泛的建議。
答案1
Emacs/維姆/蝕/... - 我個人是 Emacs 使用者。如果您發現控制序列讓您的小指感到疲勞,只需使用 Viper 模式即可。 Emacs 很好地整合到了 UNIX 中,使得從一個地方控制一切變得非常容易。 Vim 在這方面也做得很好,但我發現 Elisp 是比 Vim Script 更強大的擴充語言。人們可以花幾個小時談論設置 Emacs 進行 C 開發的所有方法。 飛航模式已經提到過,這是事情的一個超級開始。我不熟悉 Eclipse,我發現它沒有在我的螢幕上為程式碼留下足夠的空間,我也不喜歡它的臃腫(Vim 用戶也會對 Emacs 說同樣的話)。純粹出於美學原因,我對用 Java 寫的任何東西也抱持著不公平的偏見。
標籤- 標記您的 C(或許多其他語言)函數,以便 Vim 或 Emacs 或任何其他語言可以在您的文件中進行一些超文本連結。假設您正在閒逛,看到一個函數,然後您撓著頭說:“這個函數又是做什麼用的?命名有點含糊。”啪啪啪,你可以直接跳到它的定義。
編譯器/Gnu-自動工具- Make 很棒,但在某些時候您需要對事物進行一些抽象,以便您的專案可以在您無法測試的各種系統上建立自己。如果您只需要人們在 *nix 上建立您的程式碼,Autotools 很棒,但是,實際上,您無論如何都應該熟悉 Cmake。 Cmake 團隊在每種可能的配置中建立程式碼,並確保您不必經歷令人頭痛的事情。如果您希望您的項目能夠輕鬆購買其他項目,那麼其中一個工具至關重要。
git/水銀/顛覆/... - 你可以花幾個月的時間研究版本控制軟體,但你可能應該選擇 Git。它很可靠,是分散式的,@$!#%& Linux 核心是用它來追蹤的。如果它對 Linus 來說足夠好,那麼對你來說也一定足夠好。我也聽說過有關 Mercurial 的好消息,顯然 G**gle 使用它們,所以它可能還不錯。有些人似乎喜歡 Subversion 和 CVS 之類的東西。我不喜歡它們,因為它們是單一的,這對我來說非常不方便和限制。
斯圖普姆/威米伊/X莫納德/... - 在某些時候,您會意識到,為保持工作順利進行所做的任何事情都將極大地提高您的產出。防止大腦破壞其上下文的最佳方法之一是切換到平鋪、鍵盤驅動的視窗管理器。我是以下的個人粉絲樹樁WM,視窗管理器中的Emacs。完全在動態可自訂的 Common Lisp 流程中實現,您發現自己重複執行的任何操作都可以消除到函數中並綁定到命令。好東西。我對其他人不太了解,但也許進一步的闡述最好留給另一個線程。盡可能使用鍵盤。
廣東發展銀行- 我不熟悉其他調試器,但這似乎是事實上的標準。
瓦爾格林德- 我不知道還有什麼東西能做到這一點。 Valgrind 對於您想要進行的所有煩人的分析/記憶體洩漏搜尋至關重要。如果沒有 Valgrind,你就無法使用 malloc/calloc 編寫程式碼。
答案2
我堅持使用 Vim 有一段時間了,了解 VIM 基礎知識是值得的,因為你總會在某個地方找到一個只有這些基礎知識的 UNIX 盒子,但我嘗試了 Emacs 並且沒有回頭。 Eclipse 是一個「現代」的替代方案,我的系統上有這三個!
答案3
這很大程度上是個人喜好,所以我認為除了告訴你我使用什麼之外我無能為力。我已經設定了 Emacs飛航模式,它會定期編譯您正在處理的檔案並解析編譯器輸出以找出您所犯的錯誤。它突出顯示緩衝區中的錯誤/警告,並顯示相關的編譯器錯誤訊息
答案4
我使用帶有嵌入式終端的 gedit。