2017-09-04 1 views
-2

私はC++でコマンドライン引数を使ってコーディングするコーディングクラスに入っていますが、私はグーグルで見つけることができない特定のものを使用していますが、このサイトの他の場所では見たことがあります。私のVMはLinuxです。コマンドラインでのコーディング、-Wallとは何ですか?

-Wallはコンテキスト "g ++ -Wall -std = C++ 11 test.cpp -o test"とは何ですか?私のインストラクターも-oを使用して実行可能ファイルを作成したと言っていますが、作成されたファイルは表示されません。テストはコマンドですか?仮面舞踏会では、可能であれば、最高の言葉になるでしょう。

(誰かが参照Function stoi not declaredのために、この記事にコメントして-Wallを使用)

この調子で、コマンドラインでのコーディング時に、他のどのようなコマンドが役に立つかもしれませんか?私はcd、ls、pwd、./a.out、mkdir、cat、vimなどの非常に基本的なものに精通しています(ただし、vimでは挿入と終了/保存のしか方法はわかりません)。

ありがとうございました。 -Wallは私の主な質問ですが、残りの助けがあれば大歓迎です。 g++ manページから

+1

なぜGoogleのマニュアルページですか?速かったでしょうか。 Google man g ++ –

+1

または、マニュアルページの期間を使用します。 – Rob

+0

コマンドラインに 'man gcc'と入力してください。 – DyZ

答えて

4

:もっとあります

-Wall 
     This enables all the warnings [...] 

、それを読むこと自由に感じ。

1

コマンドラインでコンパイルを教えるためにインストラクターを祝福してください!

GCCコンパイラには、豊富なドキュメントhereがあります(コンピュータにインストールされていて、info gccから利用可能です)。特にGCC command optionsの章(GCCの起動について)を読んでください。また、man gccコマンドでマニュアルページを試してみることもできます(ただし、man manを理解してからman(1)を理解しようとすると...)。 gccの場合、マニュアルページは不完全です(w.r.t. info gcc)。また、gcc --helpもお試しください。

Cコードの場合はgcc -Wall -Wextra -g(Cコードの場合)またはg++ -Wall -Wextra -g-std=c++11などのその他の便利なオプションを追加すること)を使用してコンパイルすることを強くお勧めします。 -Wallオプションはほぼすべての警告を要求し、-Wextraはそれらのいくつかを要求し、-gオプションはデバッグ情報(最近ではDWARF形式)を要求しています。その後、GDB debuggerを使用することができます。 Debugging with GDBマニュアルをお読みください。

その後、優れたインストラクターは、build automationツール(例:GNU makeまたはninja)を使用して、ビルドプロセスを自動化するためのコマンド(特にコンパイルコマンド)をうまく使用することを教えてくれます。 translation unitsいくつでも使用してアドホックCコード生成器(例えばbison)で作られた複雑なプログラムはまた、あなたはおそらくおよそversion control systemsなどgitなどを学びます

makeまたはninjaを使用してコンパイルすることができます。

ところで、私はソースコードをダウンロードして勉強し、多くのプログラムのいくつかを構築することをお勧めします(例えばhttp://github.com/または他の場所)。あなたは多くを学ぶでしょう。ところで

testので、あなたのexecutabletestを付けないようには、多くの場合、shell builtinとして実装(test(1)を参照してください)非常に標準コマンドです。

関連する問題