問題タブ [compiler-warnings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - VB.NET プロジェクトのすべてのコンパイラ警告を表示する方法を知っている人はいますか?
VB.NET には、報告されるコンパイラ警告が 100 に制限されるという、やや厄介な制限があります。
これにより、Option Strict を有効にするなど、VB.NET のベスト プラクティスに準拠するために必要な作業量を大きくしようとすると、かなりイライラします。
この制限を削除、調整、または他の手段 (サードパーティのコード分析ツールなど) で警告を収集する方法はありますか?
frameworks - エラー メッセージで推奨される解決策を提供する
開発者ツールとソフトウェアは通常、エラー メッセージに解決策の提案を提供しません。コンパイラは何が問題な のかを正確に伝える必要があるため、これはコンパイラにとって理にかなっています。
提案を提供する「lint」ツールがありますが、知る限り、ほとんどの開発者は lint ツールを定期的に、またはまったく使用していません。
エラー メッセージに対する「推奨される解決策」の部分が含まれているとうまくいく、開発者向けのソフトウェアが多数あります。これは、Eclipse などの IDE が持つ優れた機能の 1 つです。しかし、Web アプリケーション フレームワーク、標準/一般的なライブラリなどのソフトウェアには、この便利な機能がありません。
これは単にユーザー フレンドリーなデザインが欠けているだけなのでしょうか (Google が非常に優れているため、これは不要であると考えることができます)、それとも正当な理由があるのでしょうか? 使用しているコンパイラ、フレームワーク、プラットフォームでエラー メッセージに解決策の提案が表示されますか?もし表示されない場合、その理由は?
c++ - boost :: system ::(...)_ categoryは定義されていますが、使用されていません
現在、質問のタイトルで示した警告に似たコンパイラの警告が表示されています。などの警告...
warning: 'boost::system::generic_category' defined but not used
warning: 'boost::system::posix_category' defined but not used
warning: 'boost::system::errno_ecat' defined but not used
warning: 'boost::system::native_ecat' defined but not used
私の知る限り、プログラムは何の影響も受けていません。ただし、警告がぶら下がっているのは好きではありませんが、ブーストに関連して定義された何かが使用されていない場所にぶら下がっている以外に、これらの警告が何を伝えようとしているのかわかりません。しかし、私が定義したものはすべて、使用しました。私が使用しているブーストライブラリは、ランダムライブラリとファイルシステムライブラリです。
警告のソースを確認すると、Boostのerror_category.hppファイルが表示さstatic const
れ、「事前定義されたエラーカテゴリ」または「非推奨の同義語」としてコメントされているいくつかのファイルが強調表示されます。たぶん、問題はライブラリを使用するときの私のエラー処理(または欠如)に関係していますか?
誰かがこれらの警告がポップアップする理由についていくつかの洞察を与えることができますか?私は完全に何かが欠けていますか?
PS警告は最大レベルです。
c++ - g++ -Wreorder のポイントは何ですか?
g++ -Wall オプションには -Wreorder が含まれます。このオプションが何をするかを以下に説明します。なぜ誰かが気にするのかは、私には明らかではありません (特に、-Wall でデフォルトでこれを有効にするのに十分です)。
c++-cli - C++/CLI : Object クラスの Equal メソッドをオーバーライドする方法
私は C++/CLI の初心者であり、基本 Object クラスの Equal メソッドをオーバーライドしようとして問題が発生しています。次のコードに対して、次のコンパイル警告エラーが発生します。これはどのように修正する必要がありますか?
編集 3:「Equal」を「Equals」に変更し、ソース ファイルのオーバーライド キーワードを削除しましたが、エラー 2 はまだ残っています。
// ヘッダー ファイル
// ソースファイル
objective-c - 冗長コンパイラ警告
myObject2からmyObject1に関連付けられたmyMethodを呼び出すと、「myObject1が-myMethodに応答しない可能性があります」という警告が表示されることがよくありますが、プログラムは問題なく実行されます。コンパイラがコンパイル時に宣言されたメソッドを認識しないのはなぜですか?
ジョン・ドナー
c++ - Sun Studio C++ "is not terminated with a newline" warning - how to suppress?
I have ported a fair bit of code from Win to Solaris, one of the issues I have - I am getting a heaps of warnings:
I like warnings - but because of the sheer amount of those I am afraid I could miss more important one.
Which compiler (cc) option should I specify to silence it?
Thanks.
c# - VS2008に到達不能コードに関する警告を停止させる方法はありますか?
私のアプリケーションには、次のような構成オプションがいくつかあります。
そしてそれを使用するコードは次のようになります
重要なのは、ExecuteThisやExecuteThatではなく、わずかに異なるリリースを作成する可能性があることです。また、実行時にそのようなものから速度のペナルティが発生しないように、constsを使用できるようにしたいと考えています。しかし、到達不能コードに関する警告を見るのはうんざりです。私はすべての警告を取り除くのが好きな人ですが、これらについては何もできません。これらの警告だけをオフにするために使用できるオプションはありますか?
c++ - C/C++: do-while(0); の使用方法 C4127 のようなコンパイラ警告なしで構築しますか?
この回答 で説明されている理由により、#defines で do-while(0) コンストラクトを使用することがよくあります。また、コンパイラからの可能な限り高い警告レベルを使用して、より潜在的な問題をキャッチし、コードをより堅牢でクロスプラットフォームにしようとしています。したがって、私は通常-Wall
、gcc と/Wall
MSVC を使用しています。
残念ながら、MSVC は do-while(0) コンストラクトについて不平を言っています。
この警告についてどうすればよいですか?
すべてのファイルに対してグローバルに無効にするだけですか? それは私にとって良い考えではないようです。
c++ - g++警告の解釈方法
次のコードをコンパイルしようとすると、非常に奇妙なg++警告が表示されます。
出力:
私には何の意味もありません。どのように解釈すればよいですか?投稿されたコードの何が問題になっているのかわかりません。
コンパイラの詳細を指定するのを忘れます: