目次:
- タブ文字を使用する
- 構文の強調表示は、キーワードに1つの色、変数名に異なる色、文字列の3番目などを使用して、さまざまなタイプの構造体の色を変更します。これは入力時に愚かなエラーを避けるのに非常に役立ちます。たとえば、キーワードのスペルを間違えた場合、キーワードの色には表示されません。この機能を有効にするには、設定→エディタ→構文ハイライトを選択します。通常はコード::ブロックはファイル名の拡張子から言語を伝えることができます。非標準のファイル拡張子を使用している場合は、Filemasksを選択してリストに追加してください。さらに、ニーズに合わせて、このウィンドウから構文強調オプションを調整することもできます。これは、視覚上の問題、特に色盲の症状がある場合に特に重要です。
- <! Code::ブロックでは、コーディングフォーマット標準への順守を容易にすることができます。そのコードエディタは、任意の標準に合うようにコードを再フォーマットします。
- )場合、コードの省略形は時間を節約することができます。コード略語を使用すると、コードワードを入力してCtrl + Jを押すと、Code::Blocksエディタで入力した対応する事前定義テンプレートが入力されます。
- クラスとtypedef
- Code::Blocks環境では、複数のビルドターゲットを作成できます。ビルドターゲットを使用すると、独自のビルド設定で個別の実行可能ファイルを作成できます。たとえば、デバッグに使用する実行可能ファイルにシンボル情報を含めることは間違いありませんが、お客様に出荷する予定のシンボル情報には含めることは間違いありません。
- デバッグターゲットを選択し、[複製]をクリックします。
- 行に変換され、 3行のマシンコード:
- 上のウィンドウでビルドターゲットを選択します。
- StartまたはRunを入力すると、Code::Blocksがこれらの引数をプログラムに供給します。
ビデオ: 【Javaプログラミング入門 #4】ソースコードの基本ルール(可読性とコメント/ブロック/インデント/命令文のルール) ※1.5倍速での再生を推奨 2024
Code::Blocksには、ほとんどのC ++アプリケーションにとって最も自然なデフォルト設定があります。しかし、環境の中でもっと多くの時間を費やすようになれば、コード::ブロックはほんの数回の微調整だけで友好的な場所になることがあります。
タブ文字を使用する
または、タブ文字を使用しないでください。この設定は、誰もが常にCode::Blocksを使用するプロジェクトで作業している場合は、何の違いもありません。しかし、タブ文字の問題は、異なるエディタが異なる解釈をする傾向があることです。いくつかのエディタはカーソルを次のタブストップに移動させ、エディタによってはカーソルをいくつかの文字の上に移動させ、すべてのエディタがタブに割り当てられる文字の数に一致するわけではありません。幸いにも、すべてのエディタはスペースを同じように解釈するので、コードを書く方がはるかに安全です。:ブロックエディタは常にスペースを使用し、ソースファイルにはタブを保存しないようにします。これを行うには、設定→エディタを選択します。次に、左側の「一般設定」を選択し、「タブ文字の使用」がオフになっていることを確認します。
<!構文の強調表示構文の強調表示は、キーワードに1つの色、変数名に異なる色、文字列の3番目などを使用して、さまざまなタイプの構造体の色を変更します。これは入力時に愚かなエラーを避けるのに非常に役立ちます。たとえば、キーワードのスペルを間違えた場合、キーワードの色には表示されません。この機能を有効にするには、設定→エディタ→構文ハイライトを選択します。通常はコード::ブロックはファイル名の拡張子から言語を伝えることができます。非標準のファイル拡張子を使用している場合は、Filemasksを選択してリストに追加してください。さらに、ニーズに合わせて、このウィンドウから構文強調オプションを調整することもできます。これは、視覚上の問題、特に色盲の症状がある場合に特に重要です。
<!ソースコードフォーマッタ
これは古風かもしれませんが、良いプログラマはコードの外観に少し誇りを示すべきです。これには、コーディング標準の作成と着実な遵守が必要です。さらに、大規模なチームで作業する場合は、誰もが同じコーディング標準を使用する必要があります。それ以外の場合、コードは一人で書かれたモジュールが一つのルック・アンド・フィールを持っているのに対し、チームメイトによって書かれたモジュールは異なった外観を持っています。<! Code::ブロックでは、コーディングフォーマット標準への順守を容易にすることができます。そのコードエディタは、任意の標準に合うようにコードを再フォーマットします。
The Code::Blocksソースコードフォーマッタは変数名を調整しません。さらに悪いことに、あなたのプログラムロジックには触れません。ですから、コードが酷いコードを書く場合は、Code::Blocksエディタを非難しないでください。
設定→エディタを選択し、表示されたリストからソースフォーマッタを選択して、図1のようなウィンドウを表示します。プレビューウィンドウには、実際の選択内容が表示されます。この例はANSI標準に準拠していますが、他の多くの共通標準の中から選択するか、[カスタム]を選択し、[インデントと書式]タブをクリックして独自の標準を作成します。図1:ソースコードフォーマッタを設定すると、コーディングスタイルを一様に適用できます。
標準を選択すると、エディタはその標準を使ってあなたを同軸にしようとします。たとえば、
if(true)
と入力してEnterキーを押すと、の下のインデントされた場所にカーソルが置かれます。 もしあなたが開いている中括弧を入力すると、エディタはあなたをバックアップし、 で 、 で次の行にジャンプし、とインデントを超えています。 コーディングが完了したら、プラグイン→ソースコードフォーマッタ(AStyle)を選択すると、エディタはモジュールを通過し、現在のソースコード標準を再適用します。だからあなたの仕事の相手があなたのプログラミングとはまったく同じように慎重ではなく、心配する必要はありません - マウスを数回クリックするだけで、すべてがクリーンアップされます。 コード略語 これは奇妙なオプションです。あなたがたくさんのコードを書いている( たくさん
!
)場合、コードの省略形は時間を節約することができます。コード略語を使用すると、コードワードを入力してCtrl + Jを押すと、Code::Blocksエディタで入力した対応する事前定義テンプレートが入力されます。
たとえば、 > Block をCode::Blocksのコピーに入れてからCtrl + J、Code::Blocksを押すと、まずクラスの名前を尋ねられ、図2に示すすべてのものが入力されます。 図2:ソースコードの略語を使用すると、使用することを覚えていれば多くの時間を節約できます! Code::Blocksには既に定義されている略語がありますが、設定→エディタを選択してウィンドウの左側にある略語オプションを選択すると、必要なすべての略語を追加できます。 コードの省略については、多くのタイピングを省き、選択したソースコードのフォーマット標準を自動的に適用することができます。非常に速いタイピスト(あるいはそれはkeyboarderでしょうか?)がこの機能を大いに凌駕することはありませんが、入力時に10本の指を使い切ったり、キーボードの速度が遅い場合は、特徴。
オートコンプリート コード::ブロックには、オートコンプリートというクールな機能があります。いくつかの最小数の文字を入力した後(デフォルトは4ですが、それを変更します)、入力を一時停止すると、Code::ブロックはそれらの文字で始まるすべてのものを探します。このように、Code::ブロックは、あなたが何を言っているのかを予測することができます。 たとえば、ダミーのダウンロード可能な資料に含まれているBudget5プログラムにあります。あなたが
Accoと入力してからわずか0.5秒間停止すると(それほど長くない!)、図3のようにウィンドウがポップアップし、Code::Blocksが知っている唯一の2つの事柄Accoで始まるこのプログラム:
Account
クラスとtypedef
AccountPtr
。 あなたは アカウント 、 を意味しているので、Enterキーを押すだけでこれが私のために入力されます。 図3:コード::このプログラムではブロックはAccoに対して2つの一致のみを検出します。最初のものは私が探していたものです。 この例では、 Account 、 pAcc へのポインタを作成しています。
pAcc - > を入力して一時停止すると、図4に示すように Account のパブリックメンバーを列挙したウィンドウが開きます。 図4:オブジェクトが与えられた場合、Code::Blocksは、そのオブジェクトからアクセス可能なパブリックメンバーを見つけます。 これは自分のクラスを参照するときに興味深い機能です。何よりも、リストから選択すると、関数名に間違った、またはスペルミスがないことを意味します。 この機能は、ライブラリに定義されているオブジェクトを入力すると実際に面白くなります。たとえば、 と入力したとします。 、あなたは cout
オブジェクトで利用可能なパブリックメンバーのリストを取得します。これは本当にあなたがドキュメントを持っていないか、どこから始めるべきかわからないときに役立ちます。すべての警告を有効にする
すべての警告を有効にすることは簡単なことではありません。コンパイル時にポップアップする間違いは、実行時に自分自身で狩りをしなければならないものよりもはるかに見つけやすくなり(修正)、修正することができます。だからこそ、C ++の構文は非常に厄介です。それは、あなたが意図するものを正確にコーディングして、完全に異なる何かを実行する実行可能ファイルを作成することを確実にしたいのです。 しかし、GNU C ++コンパイラが修正してコメントをつけずに続けていくことは、いくつかあります(実際にはかなりのことがあります)。たとえば、関数内で変数を定義してから、それを使用しないことは誤りではありません。または、関数の途中でリターンを入れて、リターン後のコード行を決して実行できないようにします。これらはエラーではありませんが、間違ったコンパイラにとっては奇妙に見えます。 GNUコンパイラは、これらの2つのケースのいずれか、またはコード内に他にも数多くの疑わしい構文があると警告を生成します。コンパイラが何を不満を持っているのか、そしてなぜそれを理解しているかを確認するために、すべての警告を調べるべきです。あなたがそれを修正しないことを選択したとしてもそれを理解できれば問題を解決してください。 警告は、あなたのプログラムのバグになる多くの間違いを明らかにするでしょう。 新しいビルドターゲットの作成
Code::Blocks環境では、複数のビルドターゲットを作成できます。ビルドターゲットを使用すると、独自のビルド設定で個別の実行可能ファイルを作成できます。たとえば、デバッグに使用する実行可能ファイルにシンボル情報を含めることは間違いありませんが、お客様に出荷する予定のシンボル情報には含めることは間違いありません。
プロジェクトの作成時に、最も簡単にDebugビルドターゲットとReleaseビルドターゲットを作成できます。ウィザードですべての作業を実行できます。しかし、プロジェクトの作業やデバッグを数週間行った後、リリースビルドの対象が見つからない場合にのみ解放することが非常によくあります。心配するつもりはないが、いつでも新しいビルドターゲットを自分で作成することができる。
新しいビルドターゲットを作成するには、「プロジェクト」→「プロパティー」を選択し、「ビルドターゲット」タブを選択します。図5のようなものが表示されます。これは、単一のDebugビルドターゲットを持つBudget5プログラムを示しています。
図5:プロジェクトプロパティの1つはビルドターゲットのリストです。
リリースビルドターゲットを作成するには、次の手順を実行します。
デバッグターゲットを選択し、[複製]をクリックします。
新しいビルドターゲットの名前を入力します。
出力ファイル名をbinReleaseBudget5に変更します。オブジェクト出力ディレクトリをobjReleaseにします。
ビルドオプションをクリックして、この特定のターゲットに必要なビルドオプションを設定し、[OK]をクリックします。
あなたは間違いなくシンボル情報をオフにし、最適化をオンにしたいと思うでしょう。OKをクリックして新しいビルドターゲットを保存します。
-
特定のビルドターゲットをビルドするには、ビルド→ターゲットの選択を選択し、使用可能なターゲットから選択します。これはコードを指示します::ビルドを選択したときに作成する実行可能ファイルをブロックします。
-
プロジェクトを有効にする最適化
-
C ++コードの各行は、その周囲のコード行に関係なく一連の機械命令を生成し、非最適化モードでは正しいと考えるかもしれません。 GNUコンパイラに組み込まれたオプティマイザは、複数行のコードを調べることによって、C ++ソースからより効率的なプログラムを生成できます。
-
// i ++;次のような些細で完全な(賢い)例を考えてみましょう。
i ++
-
の行は、
i ++
行に変換され、 3行のマシンコード:
i
の値をEAXレジスタにロードします。
EAXレジスタをインクリメントします。 インクリメントした値を i
-
に戻します。 次の行は、コール fn(i)
-
を次のように変換します。
-
i の値をEAXレジスタにロードします。
EAXの値をスタックにプッシュします。 電話をかける。 ステップ4は実際には不要であることに注意してください。 EAXレジスタに
-
i の値をロードする必要はありません。これは、値がすでにステップ1,2,3から得られているからです。普通のオプティマイザでも、この事実に気づき、2番目の MOV EAX、i [BP]
-
。
-
これはあまり節約できませんが、このような大きな改善ではないとしても、この例はわかりやすいです。 GNUコンパイラが行う最適化の大部分を理解するには、アセンブリ言語で実際に悩む必要があります。
特定のビルドに対して最適化を有効にするには、[プロジェクト]→[ビルドオプション]を選択し、左側のリリースビルドを選択して最適化オプションの1つを選択します。 技術的には、オプティマイザに多くの時間がかかるため、いくつかの最適化オプションがあります。非常に大規模なプロジェクトをお持ちの場合、頻繁には実行されないモジュールを最適化するために多くの時間を費やすことはあまりありません。中小規模のプロジェクトでは、最適化を完全に有効にするだけです。コンパイルに数秒かかることに気付かないでしょう。 すべてのビルドでこのオプションを有効にするには、[設定]→[コンパイラ]を選択し、次に[コンパイラ]タブを選択して最適化ケースの1つを選択します。しかし、これは良い考えではありません。デバッガの使用を計画している場合は、プロジェクトのデバッグリリースで最適化を有効にしないでください。オプティマイザが実行するコードを変更すると、ステップ実行しようとするとセミランダム散歩でジャンプするように見えます。 プロジェクト - デバッガシンボルを無効にする。 シンボル情報は、デバッガを使用するためにのみ実行可能ファイルに含まれる。この情報は、ユーザーに配布するバージョンには含めるべきではありません。実行ファイルのサイズが不必要に増加します。さらに悪化すると、プログラムに脆弱性を見つけようとするとハッカーに危険な情報が漏れます。
リリースビルドターゲットでデバッグ情報を無効にするには、「プロジェクト」→「ビルドオプション」を選択し、左側の「リリースターゲット」を選択します。リリースターゲットでデバッグシンボルの生成[-g]オプションがクリックされていることを確認します。 (今度は、デバッグビルドターゲットに対して同じオプションがクリックされていることを確認しておきましょう)
プロジェクト - プログラムの引数を設定する
コマンドライン引数で実行されるプログラムもあります。コード::Blocksは、Code::Blocks環境の中からそのようなプログラムを実行するときに、コマンドライン引数を提供するための次の仕組みを提供します:
プロジェクト→Set Argumentsを選択します。
上のウィンドウでビルドターゲットを選択します。
「プログラム引数」ウィンドウに任意の値を入力します。
「OK」を選択してウィンドウを閉じます。