タグ付けされた質問 「gcc」

GCCはGNUコンパイラコレクションです。Linux上のC、C ++、Go、Fortran、Adaの事実上の標準コンパイラであり、他の多くの言語やプラットフォームもサポートしています。コンパイラとは別に、GCCにはいくつかのプラットフォームやシステムで広く使用されているツールチェーン(libc、libstdc ++、objdump、nmなど)があります。

8
関数をインライン化しないようにgccに指示するにはどうすればよいですか?
ソースファイルにこの小さな関数があるとしましょう static void foo() {} そして、私は自分のバイナリの最適化されたバージョンを構築していますが、この関数をインライン化したくありません(最適化のため)。インライン化を防ぐためにソースコードに追加できるマクロはありますか?
126 c  gcc  inline 

9
ライブラリヘッダーからのGCC警告を抑制する方法は?
ヘッダーが大量の(繰り返し)警告を生成するlog4cxx、boostなどのライブラリを使用するプロジェクトがあります。ライブラリインクルード(つまり#include <some-header.h>)または特定のパスからのインクルードからの警告を抑制する方法はありますか?関連する情報が不明瞭にならないように、プロジェクトコードで通常どおり-Wallや-Wextraを使用したいと思います。私は現在、make出力でgrepを使用していますが、もっと良いものが欲しいです。

6
「pow」および「floor」への未定義の参照
Cで単純なフィボナッチ計算機を作成しようとしていますが、コンパイルするgccと、pow関数とfloor関数が不足していることがわかります。どうしましたか? コード: #include <stdio.h> #include <math.h> int fibo(int n); int main() { printf("Fib(4) = %d", fibo(4)); return 0; } int fibo(int n) { double phi = 1.61803399; return (int)(floor((float)(pow(phi, n) / sqrt(5)) + .5f)); } 出力: gab@testvm:~/work/c/fibo$ gcc fib.c -o fibo /tmp/ccNSjm4q.o: In function `fibo': fib.c:(.text+0x4a): undefined reference to `pow' …

1
-all_loadリンカーフラグは何をしますか?
Objective-Cコードをコンパイルするときに-all_loadフラグが何をするのか、どこにも見つかりません。 バイナリをAppleにアップロードする際にいくつかの問題があります。彼らは、このフラグを使用しなかったためだと言っていますが、コードがそれなしでもコンパイルされます。 誰かが私を助けてくれますか? ありがとう


7
CMakeの新しいGCCパスを指定する方法
私のOSはcentosで、パスにデフォルトのgccがあります/usr/bin/gcc。しかし、それは古いので、新しいバージョンのgccが必要です。だから私は新しいパスに新しいバージョンをインストールします/usr/local/bin/gcc。 しかし、実行cmakeすると、古いバージョンのgcc path(/usr/bin/gcc)が使用されます。gccを新しいパス(/usr/local/bin/gcc)に指定するにはどうすればよいですか。 私は、上書きしようとしてい/usr/bin/gccて/usr/local/bin/gcc、それが動作しません。
122 gcc  cmake 

5
C、C99、ANSI C、GNU Cの違いは何ですか?
私はcodechefでプログラミングの練習を始めましたが、CとC99の違いに混乱しています。ここでCはどういう意味ですか?C89ですか?この送信の下部にある言語を確認してください。CとC99の両方が含まれています。 私はインターネット上でGNU Cと呼ばれるものを見つけました。linux/ unixシステム用の別のCはありますか?これらはANSIのC標準に準拠していますか?いくつかの場所で「C99 strict」も読んだことがあります。これは何ですか? 使用中の他のCの標準はありますか?C 4.3.2と呼ばれるものはありますか、それとも現在使用中のgccバージョンですか? 編集: これ、これ、これが役に立ちました。さらに検索して、未回答の項目を編集します。 私はプログラミングの初心者ではありません。C言語とは何か知っています。C89、C99、C11のようなANSIによる異なるC標準があることを知っています。
122 c  gcc  c99  c89  ansi-c 

4
fpermissiveフラグは何をしますか?
私は-fpermissiveフラグがg ++コンパイラで何をしているのだろうと思っていますか?私は得ています: エラー:一時[-fpermissive]のアドレスを取得しています -fpermissiveコンパイラにフラグを与えることで解決でき ます。 編集:私は一時的なアドレスエラー部分を引き起こしているものを見つけました!今、その部分を修正します。

6
エラー:削除された関数の使用
私は友人が書いたいくつかのC ++コードに取り組んでいて、gcc4.6でコンパイルしたときにこれまでに見たことのない次のエラーが発生します。 error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the default definition would be ill-formed: uninitialized non-static const member ‘const h_t FlopPokerGameFSM_<std::array<C, 2ul> >::hdealt::h’ 編集:これは、boost MSM:Boost Webpageを使用するコードの一部から来ています Edit2:ソースコードの= delete()どこにも使用されていません。 一般的に、このエラーはどういう意味ですか?このタイプのエラーが発生した場合、何を探す必要がありますか?


5
Windows 7マシンにgccをインストールする方法
私のWindows 7マシンにはMinGWがあります。Cコンパイラ用の完全なgccをインストールして使用したいと思います。この目的のために、事前にコンパイルされた既製のインストールファイルは1つもありません。私は次のページをチェックしました:http : //gcc.gnu.org/install/ 難しいですが、私の理解のレベルを超えています。誰かがリンクと一緒に段階的なガイダンスを私に提供してくれませんか?

7
Linux上のWindows用にgcc / g ++でコンパイルする方法は?
Linuxでfreeglutを使用してC ++(g ++)でいくつかの効果を記述し、それらを g++ -Wall -lglut part8.cpp -o part8 それで、g ++が必要なすべてを含む静的にコンパイルされたWindows実行可能ファイルを作成できるかどうか疑問に思っていましたか? 私はWindowsを持っていないので、もしLinuxでそれができたら本当に素晴らしいです:)
119 c++  opengl  gcc  glut  freeglut 

9
8ビット整数から8ビットより大きい値を取得するにはどうすればよいですか?
この小さな宝石の後ろに隠れている非常に厄介なバグを見つけました。C ++仕様によると、符号付きオーバーフローは未定義の動作ですが、値がbit-widthに拡張されたときにオーバーフローが発生した場合のみsizeof(int)です。私が理解しているように、のインクリメントは、でcharある限り、未定義の動作であってはなりませんsizeof(char) < sizeof(int)。しかし、それはどのようcにして不可能な価値を得ているのかを説明していません。8ビット整数として、cそのビット幅より大きい値をどのように保持できますか? コード // Compiled with gcc-4.7.2 #include <cstdio> #include <stdint.h> #include <climits> int main() { int8_t c = 0; printf("SCHAR_MIN: %i\n", SCHAR_MIN); printf("SCHAR_MAX: %i\n", SCHAR_MAX); for (int32_t i = 0; i <= 300; i++) printf("c: %i\n", c--); printf("c: %i\n", c); return 0; } 出力 SCHAR_MIN: -128 SCHAR_MAX: …

8
GCCが分岐予測を常に特定の方法で実行するように強制するコンパイラヒントはありますか?
Intelアーキテクチャの場合、GCCコンパイラに、コード内の特定の方法で常に分岐予測を強制するコードを生成するように指示する方法はありますか?Intelハードウェアはこれをサポートしていますか?他のコンパイラやハードウェアはどうですか? 私はこれをC ++コードで使用します。高速で実行したい場合がわかっており、他の分岐が最近必要になった場合でも、他の分岐を取得する必要があるときにスローダウンを気にしません。 for (;;) { if (normal) { // How to tell compiler to always branch predict true value? doSomethingNormal(); } else { exceptionalCase(); } } Evdzhan Mustafaの質問に続くように、ヒントは、プロセッサが命令に初めて遭遇したときにヒントを指定するだけでよく、その後のすべての分岐予測は正常に機能しますか?

11
「C99モード以外で使用されるforループの初期宣言」GCCエラーを修正するにはどうすればよいですか?
3n + 1の問題を解決しようとしていforますが、次のようなループがあります。 for(int i = low; i <= high; ++i) { res = runalg(i); if (res > highestres) { highestres = res; } } 残念ながら、GCCでコンパイルしようとすると、このエラーが発生します。 3np1.c:15:エラー:C99モード以外で使用された 'for'ループの初期宣言 C99モードが何かわかりません。何か案は?
116 c  gcc  for-loop 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.