付くアンダースコアで始まる名前は、ある目的のために実装によって予約されています。アンダースコアで始まる名前は、グローバルな名前空間で使う名前として実装によって予約されています。この規則の唯一の例外は、クロスプラットフォームなコードから呼ばれる機種依存のコードを書いているときです。型からネイティブの型へのキャストが必要でしょう。その理由は、そのシンボルが未定義だったとき、ほかのコンパイラのシンボルも未定義になって、すべてのプラットフォーム上でコードをテストするのが困難になるでしょう。する必要があるでしょう。パス名を他のシステムと異なる基準で扱います。文は単にファイル名だけを含むものでなくてはなりません。必要な結果が得られるようコンパイラが探せるディレクトリに変更してください。モジュールとディレクトリ体系にしたがっていたのなら、変更の必要はないのです。文での代入を好みません。括弧で正しくくくられていたとしてもです。コンパイラでは、どのファイル名も重複してはいけません。あるファイルが場所限定的にのみ使われるからといって、他の場所のヘッダファイルと同じ名前を使ってもいいと考えてはいけません。すべてのファイル名は異なっている必要があります。...}すでにコメントを含むコードの塊を無効にしたくなってしまうのはしょっちゅうであるので、悪いアイディアなのです。コメントのネストが適切になっていることをあてにはできません。これは移植性から程遠いものです。組に変えるなどの変な変更をする必要があります。そんなことは忘れてしまうでしょう。使うのもやめてください。定義するかもしれません。組を使い、先頭にコメントを入れておくことです。この類のことは、いつでも一時的なことで、ドキュメント目的にコードの塊を無効にするのはばかげたことです。寛大なコンパイラには気をつけろ!あるプラットフォームで警告を発生させるものは、他のプラットフォームではエラーとなりうるものです。警告を有効にしてください。警告のないコードを書いてください。それはあなたのためになります。8といった最近のコンパイラも含め)いくつかのコンパイラは、異なった型のビットフィールドを一緒に使用した場合、構造体を正確にパック出来ません。以下に示す構造体はサイズを1バイトとしてコンパイルされるべきですが、8バイトとしてコンパイルされてしまいます。なく)符号なし型を使う単一のビットでブール値を表したいならば、それを行うために符合なし型を使ってください。