g++スタート


前に書く
本文はLinuxの下でg++を使ってC++の開発を行ういくつかの個人の未熟な思考について、ここでは記録だけをして、自分に目を覚まして、もし私の今の立場に似ている同級生を助けることができるならば、とても良いです.プロジェクトの必要性は、C++プログラムの開発に着手せざるを得ない.どうしてC++基礎がもともとよくない情況の下で、またこんなに長い間何の実際の実践もなくて、更に穴のお父さんは操作が熟知していますが、開発習慣がここのLinux環境の下で直接コードを書くので、アシ、全体の人がすべてよくないと感じます.
OK、ツッコミが終わったら、おとなしくコードを書き続けます.
g++スタートその他
考えるLinuxの下にあるC++の開発については、gccg++のコンパイラや、VimEmacsなどの神のような存在が必然的に言及されます.しかし、数日の配置環境はすでに苦労しており、後のVimの使用は想像できません.
上の神器については、ネット上の紹介資料が多いので、自分で調べてください.
本人の実情と、後で記録する小さな問題の突破過程を結びつけて、やはり着実に、Vimを使いたいとしても一定の知識を蓄えてから転換しなければならないような気がします.熟知した知識から未知の知識に移行すると、抵抗は小さくなります.もちろん、大神が持っていて、いつでも実戦派の経験を吸収できるなら、後の薄っぺらな部分は無視できます.
背景紹介
私は現在多くの開発ツールを使用しているのは各種の集積度の高いIDEで、主な言語はJavaで、そのためEclipseIntelliJ IDEAに対してもっと熟知して、VSも簡単にしばらく使用したことがあります.Linuxシステムはまだ熟知しているが、Linux下のC++開発には自信がない.2つの「見知らぬ」属性が重なる:慣れていない開発環境+慣れていない言語は、自信に対して非常に試練である.
個人的な考え方
しかし、実は問題も解けていないわけではない.個人的に心が虚しいのは、Linux下のG++で編集された各種命令が熟知していない(-c、-o、-g)ため、達人の指摘がなく、茫然としているからだ.しかし、公式文書などの資料を参照すれば、解決できる.公式文書を見ると卵が痛いが.
ツールについて
現在のところ、代替ツールは、Linuxg++Eclipse IDE for C/C++ Developers、最近は考慮されていないVimWindowsVisual Studioであり、sublime text 3VS Codeなどの様々な軽量レベルのエディタを含んでもよい.短期的に本人が把握できないVimとコンパイラg++を除いて、残りは主にIDEとエディタに分かれており、どのように取捨選択するかについては、個人的には文章[1]で述べているのが理にかなっていると思います.
正しいツールを使って価値のあることをし、効率を最大化すべきだと思いますので、EclipseでJavaプロジェクトを書き、VimでShellを書き、Sublime TextでJavaScript/HTML/Pythonを書き、Visual StudioでC#を書きます.であれば、選択は言うまでもありません.Linuxの下でsublime text 3で書いたいくつかのC++の小さなDemoは、効果が理想的ではないことを発見し、個人のプログラミングの素養に対する要求が高く、もちろんコードのヒントプラグインに協力すればいいと思いますが、必要はありません.
総合的に考えると、sublime text 3は長期開発C++に適しておらず、たまに個別のファイルを開いて簡単なエラーを調整するのに適しています.もちろん、Ubuntuのデフォルトのドキュメントリーダーを置き換えるのも素晴らしいです.したがって、最終選択項目は、コマンドライン呼び出しg++Linuxの下のEclipse IDE for C/C++ DevelopersWindowsの下のVisual Studioの3種類である.
最終的には「完璧ではない」道を模索したが、過程は面白かった.
具体的な操作
先人の提案に従って、WindowsVSにコードを書いた後、Linux下にコードを移行し、コンパイルして実行することができる.コードは共通であり、プラットフォームの問題はないため、VSを選択してコードを書き、そのコードヒント、コードフォーマットなどの機能を利用して、使用中に多くのことができます.Eclipseを選択するか、直接g++を選択するか、makefileファイルを作成するかは、個人の選択次第です.
問題の説明
全体的に、最大の問題はg++命令に慣れていないことです.それは新しい知識を学ぶか、成熟したIDEに力を入れるしかない.パラメータについては、記事[2]で詳しく、man g++で見た情報と比較して、完全に一致しています.これを調べることができます.IDEであれば、簡単で乱暴で、コードを書いて、ツールを操作すればいいので、makefileファイルの作成やg++コマンドを理解する必要はありません.
模索->シナリオEclipseコードコンパイル時のConsoleのヒントを見ると、g++コマンドが表示され、Eclipse自身が生成した文と推定され、Linuxコマンドウィンドウでこれらのコマンドを正しく実行していることがわかります.bingo、Eclipseのヒントに従って、g++の操作コマンドは十分です.引き続き観察すると、Eclipseがプロジェクトを構築する際に自分のmakefileファイルを持っていたことがわかります.さっきのコンパイル文はここにあります.bingo、問題はまた部分的に解決され、心が落ち着いた.
ここまで来ると、実はEclipseは実戦経験豊富な達人の役を演じていて、菜鳥本人は達人の動作を観察して、それから自分を向上させることを勉強しています.
「使用可能」のg++コマンド
出現するg++コマンドを整理し、以下のようにコンパイルする.oファイル:
g++ -O2 -g -Wall -fmessage-length=0   -c -o Main.o Main.cpp

生成outファイル:
g++ -o Main Main.o 

コンパイルルールに基づいて、変化したソースコードだけが再コンパイルされます.もし.oファイルは後続に影響する.outファイル、すなわち依存関係がある場合は、コンパイルを継続します.Eclipseで上記のコマンドについてよく観察されていない場合は、メニューProjectでcleanした後に再buildすることができます.
実はEclipseもmakefileによる操作なので、makefileの作成が本当の鍵です.makefileについては、記事[3]で紹介されている非常に詳細で、時間が十分であれば読書学習をお勧めします.
小結及び引申
「上品に登らない」という学習方法ですが、新しいスキルをgetしました.そして勉強の仕方がおもしろいので、markしてください.
参考記事
  • [1] http://lucida.me/blog/sublime-text-complete-guide/
  • [2] http://linux.die.net/man/1/g++
  • [3] http://www.chinaunix.net/old_jh/23/408225.html