ホームページ  >  記事  >  バックエンド開発  >  C言語のWarningはチューニングされていますか?

C言語のWarningはチューニングされていますか?

高洛峰
高洛峰オリジナル
2016-11-22 17:53:471691ブラウズ

実際、ほとんどの C 言語エンジニアは調整しません 警告 しかし、あなたが私のような雌犬である場合、調整しないと手が不快になり、調整しないと心臓がむずむずして、からかわないとよく眠れます 警告。それでは、ワーニングのからかい体験について話しましょう。

まず第一に、Warning をからかう前に、Error を追い払う必要があります。つまり、まず Error を調整します。すべてのエラーを取り除いた後、プログラムが正しいという保証はありません。エラーを報告しないバグもいくつかあります。バグは警告をからかうことを妨げるものではありませんが。でも、お嬢様をからかいたいとき、部外者が見ている中でどうやって楽しめるでしょうか?

もちろん、バグは修復できないことが多いので(ユウコの言葉を借りれば、「中国には卵のあら探しという古い諺がある」)、そのため、通常の使用に影響を与えないいくつかの安っぽいバグを観察させてください。プログラム。

エラーを取り除く方法を知らない新人プログラマーがいたら、私が教えてあげましょう。

エラーは通常、構文エラーが原因で発生します。よくある間違いは、通常、スペルミスです (お嬢さん、お兄さんをからかうのが心配すぎて、そんなに速く押すことはできません)、セミコロンがないか、セミコロンがコンマに置き換えられている場合があります。 もちろん、一部の「処女」にも問題があります。 " 中国語の句読点も使える人。エラーを報告してください。

もちろん、この種の人々は単にトラブルを探しているだけで、奇妙なエラーに遭遇することもよくあります。中国語のパスに問題があるかどうかを確認してください。一部のエラーは、コンパイラを再度開くことで解決できる場合もあります。 Baidu、Google、Bing などはまったく機能しません。 (Google はまだ *qiang を翻訳する必要があるようです。私は Bing の使用に慣れています。私には個人的な習慣があります。実際、多くの人が Google を使用しています。初心者には Baidu を使用することをお勧めします。初心者向けのよくあるエラーは解決済みです)結局、Google はまだ * 強を回す必要があるようです、私のような雌犬は * 強を回すのが好きではありません)

さて、紳士諸君、ベルトを外しましょう。

まず削除できるものからいじめます。変数や関数が宣言されても使用されない場合があります。これはよくある警告メッセージであり、私の経験では削除しました。一部の変数が今後のアップグレードで使用されることがわかっているものであっても。予約が必要かどうかよくわからない場合は、次回以降にその問題について説明します。もちろん、宣言された関数が記述されているが役に立たない場合は、将来の使用のために収集して保持できますが、プログラムに関係がない場合は削除した方がよいでしょう。ただし、私の一般的なアプローチは、複数宣言された変数のみを削除し、複数宣言された関数は削除しません。

一部の空でない関数の戻り値は、成功すると 1 を返し、失敗すると 0 を返します。この種の戻り値はブランチに設定すると便利かもしれません。実際、人々はもともと分岐を容易にするためにその関数を作成しました。支店にはないので。この価値観が何の役にも立たないなら、このクソ野郎は傍観者に追いやられるべきだ。見て見ぬふりをする。

特定のヘッダファイルの関数が呼び出されていますが、ヘッダファイルがインクルードされていません。

例: 警告: 以前の暗黙的宣言と型が一致しません

関数 '***' の暗黙的宣言

ヘッダー ファイルをインクルードするだけです。

フォーマットの引数が少なすぎるとリストと呼び出しが対応しません

例: printf("%4d %4d",a);

このように、どちらかがあったと感じましたか。いつも表示されない値はバグだと思いましたか?ふふ

もちろん、手が震えてもう一つ打ってしまった方もいらっしゃるので削除させていただきます。

論理演算子 or/and 式の両辺の範囲は不明です。

私の習慣は or と and の両側に括弧を付けることなので、この警告に遭遇することはほとんどありません。結局のところ、これに遭遇すると、その時点での論理関係を分析する必要があり、非常に時間がかかります。前に良い習慣を身につけておくことをお勧めします。もちろん、楽しむために保持したいと主張する場合は、私にできることは何もありません。それならすぐにドアを閉めて、警告の女性と二人だけの世界を生きるべきです。

値に対して演算は無意味です

たとえば、 int *p;

を宣言してから、*p++;

あなたが言いたいことは、(*p)=(*p)+1;

だと思いますその時何を表現したかったのかを見てみましょう。

再定義、これは複数回宣言されることを意味します。この状況を賢く回避するには、#ifndef を一度宣言するだけです。

if 分岐または while ループは実行できません。unsigned を定義してから、if を使用してそれが負の数であるかどうかを判断します。必要に応じて削除してください。

もう 1 つの警告は、パラメーターの型が一貫していないため、強制的に型を変換する必要があることです。

どんなにからかっても、1 ステップを変更して再コンパイルして実行した方がよいでしょう。原則は、警告を無視するプロセス中にエラーや新しいバグが生成されるべきではないということです。

すべての独身男性が警告の女性を誘惑できるよう幸運を祈ります。私は家に帰って夫と恥ずかしいことをします。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。