web-dev-qa-db-ja.com

Cの開発環境

C開発のための便利で生産的な開発環境をセットアップするためのアイデアを探しています。 VimでのC編集 は非常に役に立ちましたが、より幅広い提案のサンプルを入手したいと思います。

10
zvolkov
  • Emacs / Vim / Eclipse /...-個人的に私はEmacsユーザーです。制御シーケンスがピンキーを疲れさせているのを見つけたら、Viper-Modeを上げてください。 EmacsはUNIXに非常によく統合されているため、すべてを1か所から非常に簡単に制御できます。 Vimもここでうまく機能しますが、ElispはVimScriptよりもはるかに強力な拡張言語であることがわかりました。 C開発用にEmacsをセットアップするすべての方法について何時間も話すことができました。 Flymake Mode が言及されており、物事のスーパースタートです。私は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つは、タイリング、キーボード駆動のウィンドウマネージャーに切り替えることです。私は StumpWM 、ウィンドウマネージャーのEmacsの個人的なファンです。オンザフライでカスタマイズ可能なCommonLISPプロセスに完全に実装されているため、繰り返し実行していることに気付いたものはすべて、関数に追放され、コマンドにバインドされます。素晴らしいもの。私は他のどれについてもあまり知りませんが、おそらくさらなる詳細は別のスレッドに任せたほうがよいでしょう。可能な限りキーボードを使用してください。

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

  • Valgrind -これがうまくいくことを他に何も知りません。 Valgrindは、やりたいすべての厄介なプロファイリング/メモリリークハントにとって非常に重要です。 Valgrindなしではmalloc/callocでコードを書くことはできません。

12
Eli Frey

Unix/LinuxでC開発を行っている場合、プロジェクトがかなりのサイズであれば、絶対に Cscope を使用する必要があります。

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

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

2
Dan

私はしばらくVimを使い続けましたが、VIMの基本を知っておく価値があります。それだけのUNIXボックスがどこかにあるのですが、Emacsを試しましたが振り返りませんでした。 Eclipseは「最新の」代替手段です。システムには3つすべてがあります。

2

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

2
Michael Mrozek

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

2
Ketil

組み込み端末でgeditを使用しています。

1
Silviu Bogan

G ++/GCCで動作するNetbeansC/C++パッケージを使用できます。

netbeans.org/features/cpp

1
Sajad Bahmani

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

1
Hemant

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

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

1
user119

Motor IDE を試すことができます。呪いに基づいているので、家にいるように感じるはずです(tm)。)また、5年間維持されていないため、何かが壊れている可能性があるため、少し悲しいです。それでも-試してみる価値はあると思います。

1
Eimantas