問題タブ [gcc-warning]
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.
c - スタックオーバーフローが検出されたときにgccを強制的にコンパイルする
「式の整数オーバーフロー」という警告警告を表示せずに、gccにramよりも大きい符号なし整数の配列を宣言するプログラムをコンパイルさせるにはどうすればよいですか?
例えば。私は8GBのRAMを持っていて、8.5GBの配列を宣言したいです。
編集:
皆さんに感謝します。問題はデータ型ではなく、プリプロセッサのものにあることがわかりました。でもかなり時間がかかりました。:) 私が書いた
そして明らかにコンパイラはそれを好まなかった。
c - ビットフィールドからポインタにどのようにキャストしますか?
私は次のコードを作成しました。
警告:初期化により、キャストなしで整数からポインタが作成されます
またはA
警告:異なるサイズの整数からポインタにキャストします
gcc(GCC)4.1.1 20070105(Red Hat 4.1.1-52)から
警告が消えるにはどうすればよいですか?何をキャストしようとしても、いつも警告が出ているようです。
ありがとう、チェンツ
c - C で定義される前に関数を使用する場合の暗黙の宣言、なぜコンパイラはこれを理解できないのですか?
タイトルが示すように、このエラーの原因はわかっていますが、この状況でコンパイラがエラーを出す理由を知りたいです。
例:
main.c
コンパイラが宣言を読み取る前に test1() の呼び出しに到達するため、暗黙的な宣言の警告が表示されますが、これには明らかな問題があります (戻り値の型がわからないなど)。すべての関数宣言を取得するために渡してから、これらのエラーを削除してコードをコンパイルしますか? やり方はとても簡単に思えますし、他の言語で同様の警告を見たことはないと思います。
私が見落としているこの状況で、この警告に特定の目的があるかどうかは誰にもわかりませんか?
gcc - 関数に間違った列挙型を渡すことについてgccに警告させる方法
gcc は、次のコードで警告を生成しないようです。警告を生成するにはどうすればよいですか?
gcc-warning - C90コードのコンパイル中にgccコンパイラで「ISOC90は可変サイズ配列を禁止します」という警告が表示される
C90cコードをgccでコンパイルしています。ISO C90 forbids variable-size array
次のような宣言をしているときに警告が表示されます
int symbols[nc];
ここで、ncは整数であり、その値は入力ファイルから読み取られます。入力ファイルの値が変化しているため、一定の値を維持できません。どうすればそれを取り除くことができますか?この警告を解決する必要があるのでしょうか、それとも単に無視することができるのでしょうか。
前もって感謝します。
c++ - これらの 6 つの g++ エラーを克服しようとしています
これらは g++ が出力しているエラー/警告であり、それぞれの下に関連するコードがあります。これらのエラーを解決したり、それらに光を当てたりするための助けをいただければ幸いです。ありがとうございました!
g++ エラー:
関連コード:
gcc エラー:
関連コード:
gcc エラー:
関連コード:
gcc エラー:
関連コード:
gcc - gcc で値を返すことに関するチェックを実施する
gcc を使用していくつかの C/C++ ファイルをコンパイルしています。
今日、アプリがクラッシュするバグに気づきました。これは、関数が値を返さなかったことが原因でした (以下を参照)。これらの種類のチェックを強制する gcc にフラグがあるかどうか、またはコンパイラがこれについて警告しない理由を知っていますか?
基本的なオプションを使用して、C ファイルをオブジェクト ファイルにコンパイルしてい-g -D_GNU_SOURCE -o outObjectFile -c myFile.c
ます。
c - exit() 関数は stdlib.h 以外の場所で宣言されていますか?
以下の例をコンパイルしようとすると、警告が表示されました。
いくつかの検索の後、 example に statement が欠落していることに気付きました#include <stdlib.h>
。関数はどこでexit()
宣言されましたか?ライブラリstdio.h
はそれを宣言していません。私のコードもそうではありません。コンパイラでサポートされている場合、なぜ警告が表示されるのですか? また、なぜ で再定義されるのstdlib.h
ですか?
例:
c - redhatEnterprise3のgcc4.5はasm警告メッセージを使用します
64ビットのRedhatEnterprise3マシン(2.4.21-20.ELsmp、glibc 2.3.2)でgcc4.5.2をコンパイルしました。コンパイルは問題ありませんが、次のような警告メッセージがたくさん表示されます
次に、コンパイラを使用してコードをコンパイルしようとしますが、それでもこれらのasm警告が表示され、Cコードでasmを使用していません。どうすればそれを取り除くことができますか?警告の修正または抑制はすべて問題ありません。
warnings - Code::Blocks - プログラムの実行時に警告が消える
Code::Blocks 10.05 (現在は Windows) を使用しています。プログラムを実行すると (Ctrl + F10)、ビルド ログのすべての警告が消えるため、最初の行は "存在を確認しています..." です。そのため、ビルドして実行 (F9) すると、警告が数秒間しか表示されないため、警告を読み取ることができません。
それを変更する設定はどこにありますか?