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

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

1
bccインストールgccに時間がかかりすぎる
Mavericksをクリーンインストールしていますが、誤ってインストールしました brew install gcc 30分以上かかるかもしれません。終了しますか?特定のgcc(おそらくgcc48)をインストールする必要があったことはわかっていますが、遅すぎて、Macbookの空気が激しく呼吸しています。 現在、5つの依存関係すべてのダウンロードを実行していますが、「gccのインストール」の部分で立ち往生しています。これはgcc-4.9.1.tar.bz2をダウンロードして構成および構築し、ブートストラップの作成で立ち往生しています。 任意のアドバイスをいただければ幸いです。 これは私が手遅れにした良いアドバイスでした:https : //apple.stackexchange.com/questions/38222/how-do-i-install-gcc-via-homebrew 最初にここで尋ねられました:https : //superuser.com/questions/788256/brew-install-gcc-mac-os-10-9-mavericks
139 gcc  homebrew 

3
Linuxで静的ライブラリをコンパイルする方法は?
質問:Linuxで静的ライブラリをでコンパイルする方法gcc、つまり、ソースコードをout.aという名前のファイルにコンパイルする必要があります。コマンドで単純にコンパイルするだけで十分gcc -o out.a out.cですか?私はに詳しくありgccません。誰かが私に手を貸してくれることを願っています。
138 c  gcc  static-libraries 


8
GCC / G ++コンパイラで-pedanticを使用する目的は何ですか?
このメモは言う: -ansi:ANSI言語オプションを実装するようコンパイラーに指示します。これにより、ANSI標準と互換性のないGCCの特定の「機能」がオフになります。 -pedantic:と組み合わせて使用​​すると-ansi、ANSI標準に厳密に準拠するようコンパイラーに指示し、準拠していないコードはすべて拒否されます。 まず最初に: GCC / G ++コンパイラの-pedanticおよび-ansiオプションの目的は何ですか(上記の説明を理解できませんでした)? これらの2つのオプションを使用するための適切な状況を誰かに教えてもらえますか? いつ使うべきですか? それらは重要ですか?
136 c++  c  gcc  g++ 

19
/usr/lib/libstdc++.so.6:バージョン `GLIBCXX_3.4.15 'が見つかりません
UbuntuでGLIBCXX_3.4.15を入手するにはどうすればよいですか?コンパイルしている一部のプログラムを実行できません。 私がする時: strings /usr/lib/libstdc++.so.6 | grep GLIBC 私は得ます: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH 助けてくれてありがとう!
135 c++  gcc  libstdc++ 

3
関数から構造体を返すときのGCCバグの可能性
O'NeillのPCG PRNGの実装中にGCCのバグを見つけたと思います。(Godboltのコンパイラエクスプローラの初期コード) 、(rdiに格納された結果)を乗算oldstateした後MULTIPLIER、GCCはその結果をINCREMENTに追加せず、INCREMENT代わりにrdxに移動し、rand32_ret.state の戻り値として使用されます。 最小限の再現可能な例(コンパイラエクスプローラ): #include <stdint.h> struct retstruct { uint32_t a; uint64_t b; }; struct retstruct fn(uint64_t input) { struct retstruct ret; ret.a = 0; ret.b = input * 11111111111 + 111111111111; return ret; } 生成されたアセンブリ(GCC 9.2、x86_64、-O3): fn: movabs rdx, 11111111111 # multiplier constant (doesn't fit in imm32) xor …
133 c  gcc  assembly  x86-64  compiler-bug 

3
OS XでのLLVMとclang
OS Xのllvm、clang、gccについて質問があります。 llvm-gcc 4.2、llvm 2.0、clangの違いは何ですか?私はそれらすべてがllvmに基づいていることを知っていますが、それらはどのように違うのですか? 高速なコンパイルに加えて、gccに対するllvmの利点は何ですか?
133 c++  c  gcc  llvm  clang 

2
ライブラリを静的にリンクするようにgccに直接指示する
静的にリンクするライブラリを指定-Wl,-Bstaticするために使用するのは不思議ですgcc。結局のところgcc、ライブラリ(-Ldir、-llibname)とのリンクに関する他のすべての情報を直接伝えています。 どのライブラリを静的にリンクする必要があるかをgccドライバに直接伝えることは可能ですか? 明確化:特定のライブラリーが静的バージョンにのみ存在する場合、それを使用せずにそれを使用することを知っています-Wl,-Bstaticがgcc、静的ライブラリーを優先することをほのめかしたいと思います。ライブラリファイルを直接指定するとリンクされることも知っていますが、静的ライブラリと動的ライブラリを同じように含めるためのセマンティックを維持することを好みます。

1
-std = c ++ 11と-std = gnu ++ 11の違いは何ですか?
gccとclangのコンパイルパラメータ-std=c++11との違いは何-std=gnu++11ですか?同じ質問c99とgnu99?私はC ++とC標準について知っています。興味があるのはパラメーターの違いです。 私はそれがいくつかの拡張機能に関係していることをどこかで読んだことがありますが、どれがどれで、どのように新しいプロジェクトでどちらを選択するかははっきりしません。
132 c++  gcc  c++11  clang 

3
制限が959ではなく960であるときに単純なループが最適化されるのはなぜですか?
次の単純なループについて考えてみます。 float f(float x[]) { float p = 1.0; for (int i = 0; i < 959; i++) p += 1; return p; } gcc 7(スナップショット)またはclang(トランク)でコンパイルすると、-march=core-avx2 -Ofast非常によく似たものになります。 .LCPI0_0: .long 1148190720 # float 960 f: # @f vmovss xmm0, dword ptr [rip + .LCPI0_0] # xmm0 = mem[0],zero,zero,zero ret つまり、ループせずに答えを960に設定するだけです。 ただし、コードを次のように変更した場合: …
131 c  gcc  optimization  clang 

4
GCCのデフォルトのインクルードディレクトリは何ですか?
非常に単純なソースファイルをgccでコンパイルするとき、stdioやstdlibなどの標準インクルードファイルへのパスを指定する必要はありません。 GCCはこれらのファイルを見つける方法をどのように知っていますか? /usr/include内部に配線されたパスがありますか、それとも他のOSコンポーネントからパスを取得しますか?
131 c++  c  linux  gcc  include-path 


6
gcc / cmakeを使用して64ビットLinuxマシンで32ビットバイナリをコンパイルする方法
32ビットでプロジェクトをコンパイルすることは可能ですかとcmakeし、gcc上の64ビット・システム?おそらくそうですが、どうすればよいですか? パラメータ/フラグなどを設定せずに「無知」な方法で試したところ、LD_LIBRARY_PATHリンクされたライブラリを見つけるように設定しただけ~/tools/libでは無視され、名前の付いたサブディレクトリのみが表示されます。 lib64ます。
129 linux  gcc  64-bit  cmake  32-bit 

6
GCCを使用するx86で整数オーバーフローが無限ループを引き起こすのはなぜですか?
次のコードは、GCCの無限ループに入ります。 #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i > 0); cout << c << endl; return 0; } だからここでの取り決めです:符号付き整数オーバーフローは技術的に未定義の動作です。しかし、x86上のGCCは、オーバーフローでラップするx86整数命令を使用して整数演算を実装します。 したがって、未定義の動作であるにもかかわらず、オーバーフローでラップすることを期待していました。しかし、明らかにそうではありません。それで私は何を逃したのですか? 私はこれを使ってこれをコンパイルしました: ~/Desktop$ g++ main.cpp -O2 GCC出力: ~/Desktop$ ./a.out 536870912 1073741824 …
129 c++  c  gcc  x86  undefined-behavior 

3
mingw-w64スレッド:posix vs win32
私はWindowsにmingw-w64をインストールしています。win32スレッドとposixスレッドの2つのオプションがあります。私は、win32スレッドとpthreadの違いを知っていますが、これら2つのオプションの違いはわかりません。posixスレッドを選択すると、CreateThreadのようなWinAPI関数を呼び出せなくなると思います。 このオプションは、どのスレッドAPIがプログラムまたはライブラリによって使用されるかを指定しているようですが、何によって使用されますか?GCC、libstdc ++、または他の何かによって? 私はこれを見つけました: Windowsのgccポートでのthread_posixsとthread_win32の違いは何ですか? つまり、このバージョンのmingwでは、threads-posixリリースはposix APIを使用してstd :: threadの使用を許可し、threads-win32はwin32 APIを使用して、std :: thread部分を無効にします標準。 OK、Win32スレッドを選択すると、std :: threadは使用できなくなりますが、Win32スレッドは引き続き使用されます。しかし、何によって使用されますか?
127 windows  gcc  pthreads  mingw 

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