問題タブ [gcc4]
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++ - ubuntuでのgcc4.5のインストールの問題
ubuntu10.04にgcc4.5をインストールしようとしましたが、失敗しました。これが私が解決する方法がわからないコンパイルエラーです。Ubuntuに最新のgccを正常にインストールできる人はいますか?以下は私の手順とエラーメッセージです。どこに問題があるのか知りたいのですが…。
ステップ1:これらのファイルをダウンロードします:
ステップ2:上記のファイルを解凍します
ステップ3:gmp、mpc、mpfrをgcc-4.5.0/ディレクトリに移動します。
ステップ4:gcc-4.5.0ディレクトリに移動し、設定を行います。
ステップ5:コンパイルしてインストールする
最初の4つの手順はOKです。正常に構成できます。しかし、コンパイルしようとすると、次のエラーメッセージが出て、何が問題なのかわかりません。名前を「gcc4.5」から「gcc」に変更する必要がありますか?これを自分で行う必要があるのは少し奇妙です。インストール中に見逃したものはありますか?
linux - 静的ライブラリ(アーカイブ)をgcc4を使用して空の動的ライブラリにリンクする方法
みなさん、こんにちは!
Linuxでgccを使用して共有ライブラリを作成しています。ライブラリ自体にはコードはありませんが、gccを使用して構築されたいくつかの静的ライブラリ(アーカイブ)へのリンクがあります。共有ライブラリを介して静的ライブラリのシンボルをエクスポートする必要があります。結果として得られる共有ライブラリが小さすぎて、実際には上記の静的ライブラリによって提供されるシンボルが含まれていません。エクスポートされたシンボルのマップも試してみましたが、まったく役に立ちませんでした。誰かが解決策を提案できますか?
事前に10倍
c++ - -march = nativeは正確に何をしますか?
GentooWikiは私に次のように言っています:
警告:GCC4.2以降は-march=nativeをサポートしています。-march = nativeは、CPUに固有の、-march以外の追加設定を適用します。特別な理由がない限り(たとえば、distccクロスコンパイル)、以下にリストされているものではなく、おそらく-march=nativeを使用する必要があります。
それらの追加設定は何ですか?
c++ - このオフセットの使用の何が問題になっていますか?
MinGW GCC 4.4.0 でいくつかの c++ コードをコンパイルしていますが、次の形式で警告が表示されます...
この問題はおなじみのようです。以前に解決しようとして失敗したものだと思いますが、少し前です。このコードは Visual C++ で問題なくビルドできますが、この特定のコードを他のコンパイラで最近ビルドしたことはありません。
問題のコードは次のテンプレートです...
明らかに、条件付きコンパイルを使用して、これにコンパイラ固有の関数を使用できます。また、C++0x によって (最終的に) 冗長になると思います。しかし、いずれにせよ、この の使用に問題は見当たりませんoffsetof
。
非常に衒学的なことですが、T
パラメーターの型が非 POD である場合があるため、GCC クラスc_Test
が非 POD であり、不平を言う可能性があります (そして、不平を言い、不平を言う - 私はこれらの警告を 800 行近く受け取っています)。
非 POD 型は壊れる可能性があるため、これは標準の厳密な表現では不適切offsetof
です。ただし、この種の非 POD は実際には問題にならないはずですc_Test
。仮想テーブルはなく、 のオフセットを見つけるために実行時の策略は必要ありませんm_Test
。
さらに、c_Test
仮想テーブルがあったとしても、GCC は、その特定の型の静的レイアウトに基づいてコンパイル時に常に評価される組み込み関数を使用して、offsetof マクロを実装します。ツールを提供し、それが使用されるたびに泣き言を言うのはばかげているように思えます。
また、このようなことをするのは私だけではありません...
このような理由で に問題があったことは覚えていますが、問題はこのテンプレートではなかったと思います。offsetof
何か案は?
c++ - 予期しないconst参照の動作
GCC 4.2では、次のメッセージが表示されます。
Bから「プライベート」を削除すると、期待する出力が得られます。
私の質問は、プライベートと呼ばれないメソッドを作成すると、このコードがコンパイルされるかどうかが変わるのはなぜですか?これは標準で義務付けられていますか?回避策はありますか?
c++ - g ++、doubles、最適化、および大きなWTF
私のgccのバグ?私のコードのバグ?両方とも?
http://files.minthos.com/code/speedtest_doubles_wtf.cpp
どういうわけか、それは関数を「最適化」して、doubleの配列をゼロにしてq6600で2.6秒かかるようにします。より複雑な関数が配列をある程度意味のあるもので満たすのにかかる33ミリ秒ではありません。
他の人が同様の結果を得るかどうか、もしそうなら、誰かが何が起こっているのかを説明できるかどうかを知りたいと思います。また、整数と浮動小数点のパフォーマンスの大きな違いの原因を突き止めます(特に最適化せずにコンパイルする場合)。
c++ - マッチング機能なし-ジェネリックを隠す特殊な署名?
次のC++コンパイラエラーでスタックしました。
関数HandleClass(BaseClass)があるはずなので、これを説明することはできません。これは呼び出しコードです:
そしてこれはEPTDerivedExceptionのコードです:
そして基本クラスの場合:
奇妙なことに、コードを再コンパイル(クリーンアップ、メイクアップ)すると、エラーメッセージが表示されます。呼び出し元のコード(main.cpp)にスペース ""を追加すると(その後のコンパイルは成功します)、理由がわかりません...
どうもありがとう、
チャーリー
PS:私はDebianSqueezeでgcc4.4.5を使用していますが、qt4.6ではIDEとしてqt-creatorを使用していますが、この問題はQtとは無関係です。
c++ - Mac の問題 : 「asm のリロード中にクラス BREG でレジスタが見つかりません」
いくつかのコードを Mac OS X に移植しようとしました。
このプログラムは、ヘッダー big-num ヘッダー ライブラリである「ttmath」ライブラリを使用します。このライブラリは Windows と Linux の両方で正常に動作しますが、Mac でコンパイルして実行しようとすると、常に次のエラー メッセージが表示されます。
この問題は古いバージョンの GCC コンパイラ (ビルド 5488) が原因であると書かれている文書を見つけましたが、GCC を更新した後もこのメッセージが表示されます。
現在、私のGCCバージョンは次のとおりです。
OS は: Mac OS X バージョン 10.5.8
この問題を解決する方法について役立つ情報が見つかりません。誰か助けてくれる人はいますか? どうもありがとう!
portability - CentOS / RHEL4.8でgcc4.xを使用してビルドされたアプリは、完全に更新されていないCentOS / RHEL 4で実行されますか?
32ビットのCentOS4.8(Red Hat Enterprise Linux(RHEL)4アップデート8と同等)で構築した商用アプリケーションがあります。
デフォルトのgccコンパイラは3.4.6です。
完全に更新されていないRHEL4を含め、32ビットと64ビットのCentOS /RHEL4と5の両方でバイナリを実行できます。
質問:新しいgcc 4バージョンに更新した場合でも、バイナリは完全に更新されていないRHEL4で実行されますか?
最新のgccは4.5.1と4.4.5のようです
(もちろん、初期バージョンをインストールし、インターネットにアクセスできない分離されたネットワークで実行し、出荷時のバージョンから更新しないお客様もいます。)
この問題は、amd64用に64ビットのFreeBSD 8.1に移植しており、デフォルトのgccがgcc4.2.1であるために発生しました。
c++ - C++: テンプレート クラスのネストされたクラス
次のコードを検討してください。
したがって、ここで gcc-4.1.2 では、テンプレート引数をf
明示的に指定する必要があります。これは基準を満たしていますか?GCC の新しいバージョンでは、この問題は修正されていますか? int
呼び出し中に明示的に指定しないようにするにはどうすればよいf
ですか?
更新: ここに回避策があります。
f( x );
ただし、呼び出しが無効な理由はまだわかりません。そのような呼び出しは無効であるべきだと言っている標準のポイントを参照できますか? そのような呼び出しがあいまいな例を挙げていただけますか?