問題タブ [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.

0 投票する
9 に答える
8167 参照

c++ - C++ 関数のテンプレート特殊化の可視性

テンプレート関数を持つfileA.hクラスを宣言するものがあるとします。この関数は、(通常のテンプレート関数と同様に) ヘッダー ファイルに直接実装されます。ここで、(for のような)の特殊な実装を(つまり、ヘッダー ファイルではなく) 追加します。classASomeFunc<T>()SomeFunc()SomeFunc<int>()fileA.C

SomeFunc<int>()他のコードから (おそらく別のライブラリからも) 呼び出す場合、ジェネリック バージョンまたは特殊化を呼び出すでしょうか?

クラスと関数が2つのアプリケーションで使用されるライブラリに存在するという問題が現在発生しています。また、あるアプリケーションは特殊化を正しく使用していますが、別のアプリケーションは一般的な形式を使用しています (後で実行時の問題が発生します)。違いはなぜですか?これはリンカーオプションなどに関連している可能性がありますか? これは Linux で g++ 4.1.2 を使用しています。

0 投票する
2 に答える
16291 参照

c++ - GCC 3.x および 4.x の C++ オブジェクトの VTable レイアウトと VTable ポインタの場所は何ですか?

VTable の構造、順序と内容、およびオブジェクト内の vtable ポインタの場所の詳細を探しています。

理想的には、これは単一継承、多重継承、および仮想継承をカバーします。

外部ドキュメントへの参照も歓迎します

GCC 4.0x クラス レイアウトのドキュメントはここにあり、Itanium、およびより広範な GNU、ABI レイアウト ドキュメントはここにあります。

0 投票する
5 に答える
16343 参照

c++ - C++での「静的」メソッドのリンクに関する問題

別のファイルで定義されたCPPクラスのいくつかの「静的」メソッドを呼び出したいのですが、リンクに問題があります。問題を再現するテストケースを作成しました。そのコードは次のとおりです。

(私はC ++に完全に慣れていません。私は、Javaのバックグラウンドを持っており、Cに少し精通しています。)

コンパイルしようとすると、次のエラーが発生します。

しかし、main.cppのクラス宣言を削除し、それを#include "CppClass.cpp"に置き換えると、正常に機能します。基本的に、これらの宣言を別の.hファイルに入れて使用したいと思います。私は何かが足りないのですか?

助けてくれてありがとう。

0 投票する
3 に答える
1678 参照

gcc - g++/gcc 3.2.3 から 4.2.4 へのパフォーマンスの向上

私たちは g++ バージョン 3.2.3 と 4.2.4 を見てきました。4.2.4 では、一部のコード ベースのパフォーマンスが大幅に向上しています。

gcc buzilla データベースを検索して、劇的に改善された可能性のあるバグに関するヒントを見つけようとしましたが、候補として際立った個々のバグは見つかりませんでした。

改善は、ゆっくりと影響を与えた多くの小さな変更の結果ですか? それとも、違いをもたらした可能性のある上位 5 つの改善セットがありましたか?

背景として、私たちのコード ベースは、STL コンテナーとアルゴリズム、および「inline」キーワードなどの C++ 機能をうまく利用しています。

0 投票する
4 に答える
1615 参照

c++ - C ++コードをMacOSに移植するためのいくつかの推奨事項は何ですか?

今後のプロジェクトでは、WindowsおよびLinuxでコンパイルされる既存のC ++コードをMacOS(leopard)に移植する計画があります。ソフトウェアはコマンドラインアプリケーションですが、GUIフロントエンドが計画されている可能性があります。MacOSはg++コンパイラを使用します。Linuxと同じコンパイラを使用することで、問題は発生しないように見えますが、常に問題が発生します。

移植中に注意すべき推奨事項や問題はありますか?

0 投票する
10 に答える
545801 参照

c++ - g++ と gcc の違いは何ですか?

g++ と gcc の違いは何ですか? 一般的な C++ 開発に使用する必要があるのはどれですか?

0 投票する
3 に答える
1535 参照

c++ - サブクラスからの保護されたメンバーへのアクセス: gcc と msvc

ビジュアル C++ では、次のようなことができます。

これを g++ でコンパイルしようとすると、エラーが発生します。私はこれをしなければなりません:

標準 C++ で前者を実行することは想定されていませんか? または、gcc で何かが誤って構成されており、エラーが発生していますか?

0 投票する
3 に答える
2283 参照

qt - Qt アプリケーションが見事に失敗する

Qt アプリケーションをそのライブラリとリンクしようとしていますが、リンカー (MinGW) が次のような行を何百も吐き出します。どうすればよいかわかりません。

0 投票する
4 に答える
32403 参照

c++ - リンク上の未定義のシンボル___gxx_personality_v0

私はこのコマンドラインでこの未定義のシンボルを構築しています:

test.cppは単純で、正常にビルドされるはずです。契約は何ですか?

0 投票する
2 に答える
4230 参照

c++ - GCCとldはエクスポートされたシンボルを見つけることができません...しかしそれらはそこにあります

ライブラリからエクスポートされた関数とクラスを使用しようとしているC++ライブラリとC++アプリケーションがあります。ライブラリは正常にビルドされ、アプリケーションはコンパイルされますが、リンクに失敗します。私が得るエラーはこのフォームに従います:

app-source-file.cpp:(。text+0x2fdb): `lib-namespace :: GetStatusStr(int)'への未定義の参照

ライブラリ内のクラスはリンカによって問題なく解決されているように見えますが、フリー関数とエクスポートされたデータ(コサインルックアップテーブルなど)は常に上記のエラーになります。

私はUbuntu8.04(Hardy)を使用していますが、最新のUbuntuパッケージで最新です。

ライブラリをリンクするコマンドは次のとおりです(他のライブラリは削除されています)。

アプリケーションをリンクするコマンドは次のとおりです(他のライブラリは削除されています)。

最後に、問題のシンボルが適切にエクスポートされているように見えます(私が知る限り):