Cの開発環境


10

C開発のための便利で生産的な開発環境のセットアップに関するアイデアを探しています。私が見つかりました。Vimの持つC編集は非常に役立つが、私は提案の広いサンプリングを取得したいと思います。


@txwikinger同意しました、私はここでCW警察の最初になりたくありませんでした:)。または、[subjective]タグを作成するもの。これは、苦痛な死を遂げる必要がある
Michael Mrozek

すでにコミュニティWikiがあります。だから言い訳はありません:)そして私は主観的なタグを作成しましたので、あなたの心配事はすべてなくなりました。今すぐコミュニティウィキを確認してください:)
txwikinger

@txwikinger実際には推奨されていないので、それを含むすべての投稿から削除しました
Michael Mrozek

回答:


12
  • Emacs / Vim / Eclipse / ...-個人的に私はEmacsユーザーです。制御シーケンスが小指を疲れさせる場合は、Viper-Modeを使用してください。Emacsはunixに非常によく統合されているため、すべてを1か所から非常に簡単に制御できます。ここでもVimはうまく機能していますが、ElispはVim Scriptよりもはるかに強力な拡張言語であることがわかりました。C開発用にEmacsをセットアップするすべての方法について何時間も話すことができます。 Flymakeモードは言及されており、物事へのスーパースタートです。私はEclipseに精通していません。コードを表示するための十分なスペースが画面に残っていないことや、どれほど肥大化しているのかが気になりません(VimユーザーはEmacsについて同じことを言うでしょう)。純粋に美的理由から、Javaで書かれたものに対して不当に偏っています。

  • Ctags -C(または他の多くの言語)関数にタグを付けて、VimやEmacsなどがファイル内でハイパーテキストリンクを少し実行できるようにします。あちこち歩き回っていて、関数が表示されていて、頭をかいて、「また何をするの?ネーミングが少しあいまいだ」としましょう。Plink-plank-plunk、あなたはそれの定義に直接打つことができます。

  • Cmake / Gnu-Autotools -Makeは素晴らしいですが、テストする方法のないあらゆる種類のシステムでプロジェクトを構築できるように、ある時点で少し抽象化する必要があります。* nixでコードをビルドするだけの人が必要な場合、Autotoolsは素晴らしいですが、実際には、とにかくCmakeに慣れる必要があります。Cmakeチームは、考えられるあらゆる構成でコードをビルドし、頭痛の種を経験する必要がないことを確認します。プロジェクトを簡単にピックアップして他の人を購入したい場合は、これらのツールの1つが重要です。

  • Git / Mercurial / Subversion / ...-バージョン管理ソフトウェアの調査に何ヶ月も費やすことができますが、おそらくGitだけを使用する必要があります。それはしっかりしていて、配布されており、@ $!#%&Linuxカーネルが追跡されます。Linusにとって十分なものであれば、それはあなたにとって十分なものでなければなりません。Mercurialの良い点も聞いています。G** gleがそれらを使用しているようで、おそらく悪くはありません。一部の人々は、SubversionやCVSなどを好きではないようです。それらはモノリシックであり、私には非常に不便で制限があるため、私はそれらが好きではありません。

  • Stumpwm / wmii / XMonad / ...-ある時点で、作業の流れを維持するためにできることは出力を大幅に改善することに気付くでしょう。脳がそのコンテキストを壊さないようにする最善の方法の1つは、タイルキーボード駆動型ウィンドウマネージャーに切り替えることです。私はウィンドウマネージャのEmacsであるStumpWMの個人的なファンです。オンザフライでカスタマイズ可能なCommon Lispプロセスに完全に実装されているため、繰り返し実行していることはすべて、関数に追放してコマンドにバインドできます。素晴らしいもの。私は他のことについてはあまり知りませんが、多分さらに詳しい説明は別のスレッドに任せたほうがいいでしょう。可能な限りキーボードを使用してください。

  • GDB-私は他のデバッガーに精通していませんが、これは事実上の標準のようです。

  • Valgrind-これがうまく機能することについて他に何も知りません。Valgrindは、続行したいすべての厄介なプロファイリング/メモリリークの探索に不可欠です。Valgrindなしでは、malloc / callocを使用してコードを作成することはできません。


Linuxパフォーマンスカウンター(perf.wiki.kernel.org/index.php/Main_Page)やOprofile(oprofile.sourceforge.net/news)をそのリストに追加します。
Mark Probst、2013

コミュニティーwikiにしたので、そこに追加することもできますが、適切だと思います。パフォーマンスカウンターはLinuxのみのように見えますか?私はこれを確認/拒否することを検討しますが、そうである場合は、少なくともその提案に記載する必要があります。
Eli Frey、

2

私はしばらくVimにこだわっていましたが、VIMの基本を知っておく価値はあります。それだけの場所にUNIXボックスが常に見つかるのですが、私はEmacsを試し、振り返りませんでした。Eclipseは「モダン」な代替手段です。私はシステムに3つすべてを持っています!


2

これは個人的な好みなので、私が何を使っているかを説明する以上のことはできないと思います。私はEmacsにFlymakeモードを設定しています。Flymakeモードでは、作業中のファイルを定期的にコンパイルし、コンパイラー出力を解析して、発生したエラーを把握します。バッファ内のエラー/警告を強調表示し、関連するコンパイラエラーメッセージを表示します


2

私はKate(text)gcc / avr-gccを使用して、GitをVCとして作成しています。私は主にcで埋め込まれたものとpythonでコンピューター側を行います。


2

Unix / LinuxでC開発を行っている場合、プロジェクトのサイズが非常に大きい場合はCscopeを使用する必要があります。

Cscopeは、ソースコードを参照するための開発者向けツールです。関数foobarの定義にジャンプし、変数fooが参照されているすべての場所を見つけ、を含むすべてのファイルを見つけbar.h、のすべての出現をbarintoに変更しますbaz

また、あなたの投稿でVimについて言及しました... VimとCscopeを一緒に使用するためのチュートリアルです。



1

私の個人的なお気に入りはexVimです。多くのvimプラグインがあり、大規模なコードベースで非常に簡単に使用できます。その機能を学ぶのに約1日はかかりますが、それだけの価値があります。


1

コンソールでVimを使ってCを編集します。私はメイクファイルを使用しており、gcc、clang(LLVM)、iccなど、コードをテストするためのいくつかのコンパイラーを持っています。私が開発環境の一部として検討している他のこと:grep、デバッガー、valgrindの使用。より複雑なビルド用のスクリプト言語。バージョン管理用のGit。

コードを編集するために何を使用するかよりも私の心の中でより重要なのは、コードの構造です。そのレイアウト方法はおそらくスタックオーバーフローの問題ですが、あなたが尋ねたように、私はしばしば配布用ではなくオブジェクトコード用の別のディレクトリと、結果のバイナリ(y | ies)用の別のフォルダーを持っています。私が書いているすべての一般的なコードとこれらのvalgrindを使用するCファイルと、最終的なプロジェクトファイルを含むテストフォルダーがあります。


1

Motor IDEを試すことができます。それはcursesベースなので、自宅(tm)のように感じるはずです。)また、5年間維持されておらず、何かが壊れている可能性があるため、少し悲しいです。まだ-それは試してみる価値があると思います。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.