問題タブ [g++]
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++ - 宣言内の C++ 2 つ以上のデータ型
g++
次のコードで 3.3から奇妙なエラーが発生します。
エラーは次のとおりです。
それは本当にばかげたことに違いありませんが、私はすでにゴム製のアヒルと友人にそれを伝えましたが、役に立ちませんでした.
ありがとう、レイジーウェブ。
c++ - 単純な C++ コードが機能しない
この非常に単純なコードでは、大量のエラーが発生します。
コンソールでgcc -o simpletest simpletest.cppと入力して、Linuxでコンパイルしようとしました。なぜ機能しないのかわかりません。何が起こっている?
c++ - アーカイブの代わりにg++部分リンク?
私はC++ビルドフローにかなり慣れていないので、ar
アーカイブを作成する代わりに、ライブラリに部分的なリンクを使用するように切り替えることを考えています。私が持っている必然的な最終コンパイルステップでリンク時間を短縮したいと思っています。一部のライブラリを一度部分的にリンクすると、その最終ステップですべてをリンクするよりも時間を節約できると思います。
私が説明していることは可能ですか?私はそれが線に沿った何かであるべきだと思いますld -Ur -o mylib.o [components]
。私が考慮していない重要なビルドの考慮事項はありますか?
c++ - 静的クラス メンバーへの未定義の参照
次のコードがコンパイルされない理由を誰か説明できますか? 少なくとも g++ 4.2.4 では。
さらに興味深いことに、MEMBER を int にキャストするとコンパイルされるのはなぜですか?
c++ - C++ で値を返さないとどうなりますか?
昨日、私は次のようなコードを書いていることに気づきました。
もちろん、作成したばかりの構造体を実際に返すのを忘れています。奇妙なことに、この関数によって返された構造体の値はゼロに初期化されました (g++ を使用してコンパイルした場合)。これは単なる偶然ですか、それとも別の SomeStruct が作成され、どこかで暗黙的に初期化されましたか?
c++ - typeinfo への g++ 未定義参照
次のエラーに出くわしました(オンラインで解決策を見つけましたが、スタックオーバーフローにはありません):
(.gnu.linkonce.[stuff]): [メソッド] [オブジェクト ファイル] への未定義参照:(.gnu.linkonce.[stuff]): `typeinfo for [classname]' への未定義参照
これらの「typeinfo への未定義の参照」リンカ エラーのいずれかが発生するのはなぜですか?
(舞台裏で何が起こっているかを説明できればボーナスポイントです。)
c++ - 幅が広すぎる型を関数に渡すことについて GCC に警告させることはできますか?
以下は、コンパイラが診断を発行する必要があると私が考える、明らかに欠陥のあるコードです。しかし、私が考えることができるすべての警告オプションを使用しても、そうではありませgcc
ん。g++
-pedantic -Wall -Wextra
gcc
これを作成してg++
警告する方法はありますか?余談ですが、デフォルトで、またはかなり一般的な特別な警告構成でこれについて警告する別のコンパイラがありますか?
注: GCC (C および C++ コンパイラの両方) バージョン 4.2.4 を使用しています。
編集:私はそれgcc -Wconversion
がトリックを行うことを発見しましたが、同じオプションg++
はそうではありません。ここでは実際にC++を使用しているため、解決策が必要ですg++
(そして、なぜそう-Wconversion
ではないのか疑問に思っています)。
編集: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34389g++ 4.4
は、これが...maybeで修正される可能性があることを示唆しています。それが同じ問題であるかどうか、および/または修正が実際にそのバージョンで行われるかどうかは、まだ明確ではありません. たぶん、4.3 または 4.4 の誰かが私のテスト ケースを試すことができます。
debugging - g++ 生成コードに関する質問
g++ ハッカーの皆さん、次の質問があります。
オブジェクトの一部のデータが欠陥のあるプログラムによって上書きされた場合、プログラムは最終的にそのオブジェクトの破壊に失敗し、二重解放エラーが発生するのはなぜですか? データが破損しているかどうかをどのように判断しますか? そして、なぜダブルフリーが発生するのでしょうか?
c++ - 本体がなく、try/catch ブロックだけの関数/メソッドを本当に持つことができますか?
この関数には "{" と "}" の本体がないことに注意してください。ただの try/catch ブロック:
これは意図的に C++ の一部ですか、それとも g++ 拡張機能ですか?
これには、{} の 1 レベルをバイパスする以外に何か目的はありますか?
http://stupefydeveloper.blogspot.com/2008/10/c-function-try-catch-block.htmlに出くわすまで、これについて聞いたことはありませんでした。
c++ - Cygwin と Linux で g++ によって作成された実行可能ファイルのデフォルトのファイル拡張子
私はほとんどの作業を VisualStudio で行ってきましたが、gcc や g++ の経験はあまりありません。今朝、cygwin を使用して PC で (aprogram.cpp など) をコンパイルしようとしたとき、Ubuntu ボックスで同じものをコンパイルしようとしたときに (aprogram.exe) を取得しました。拡張子なしで (aprogram) を取得しました。 . 誰か親切に理由を教えてくれませんか。この質問は単なる好奇心からです。:)
前もって感謝します!
編集: (ジミーのコメントから) Cygwin の g++ のデフォルトは .exe です