問題タブ [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 投票する
4 に答える
31334 参照

c++ - C++ テンプレート、未定義参照

次のように宣言された関数があります。

次のように定義されます。

ただし、 main() 関数で使用しようとすると:

g++ から次のエラーが表示されます。

誰かが私を正しい方向に向けることができますか?

0 投票する
18 に答える
45290 参照

c++ - 一般的な C++ 最適化手法のリスト

一般的な C++ 最適化プラクティスの優れたリストを入手できますか?

最適化とは、コンパイラの設定を変更するのではなく、プログラムをより高速に実行できるようにソース コードを変更する必要があるということです。

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

c++ - GNU C++ プログラムを Visual C++ に移植する

Linux で GNU C++ から作成された makefile を使用して C++ プログラムを Visual C++ に移植するにはどうすればよいですか?

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

c++ - Eclipseで「認識されないエミュレーションモード:32」エラーが発生するのはなぜですか?

-m32引数を使用してコンパイルすると、どうしてこのエラーが発生するのですか?

認識されないエミュレーションモード:32

x86_64マシンでg++を使用してコンパイルしています。これは1つのプロジェクトで発生しますが、他のプロジェクトでは発生しません...ヒントはありますか?

注:私はEclipse CDTを使用しているので、おそらくこれはIDE固有のゴチャですか?

言い換えられた質問

おそらく、より良い質問は次のようになります。x86_64マシンで実行しているときに、Eclipseでx86バイナリを構築するための最良の方法は何ですか。

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

objective-c - Linux ガベージ コレクション上の Objective-C はありますか?

Objective-C v2.0 (Mac が使用するもの) には、ガベージ コレクションという新機能が追加されました。私はLinux PCの子供です(不思議に思っている場合はUbuntu)。私の質問は、gcc/g++ コンパイラの使用は Objective-C ガベージ コレクションですか?

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

c++ - g++ ヘッダーが含まれています: まだ定義が見つかりません

こんばんは :)

私はg ++とメイクファイルをいじっています。私はこの点に到達しました:

foo.h:

Foo.h は最終的にメインの cpp ファイルに含まれるので、start/stop を呼び出して動作を設定できます。

それから bar.h があります:


ただし、g ++は気に入らないようです:

私はmakefileを使用しており、次のような組み合わせを試しました:

ここに bar.h を追加する必要はないと思いますが、foo.h に含めるだけで十分ではないでしょうか?

明確にするために、これは大まかに現在設定されている方法です(はい、これはより効率的な方法で実行できることを知っています):

どうしたの?g ++について欠けているものであり、ヘッダーインクルードの処理方法が含まれていると思います。正しい方向に向けてください!

編集 - 解決策を見つけました:

どっ!私は今、ばかげていると感じています。boost::asio をいじっていましたが、これをヘッダーのどこかに残していたことを忘れていました: using boost::asio::ip::tcp;

boost::asio::ip::tcp::bar 関数があるとしましょう:D

ああ、とにかくありがとう!

0 投票する
1 に答える
7813 参照

c++ - boost::asio::ip::tcp::resolver::resolve() は永久にブロックします

boost.asio の例にあるこのコードに似たものを作成しようとしています。

ソケット.h:

ソケット.cpp:

g++ はこれをエラーなしでビルドしますが、コードが resolver.resolve() 呼び出しを通過することはありません。
ホストには「127.0.0.1」と「localhost」、ポートには「80」の両方を試しました。(問題ではないと思いますが、apache2 は稼働しています)

アプリケーションからctrl + cを押すと、明らかに終了しますが、終了する直前に「文字列に接続しています」と出力されます。

私は自分で例を作成し、同じ問題が発生するかどうかを確認することを計画しており、間違いなくここに結果を投稿します. 誰かがこの問題に遭遇したか、またはこの動作の原因を知っていますか?

編集:
この例は問題なく実行されます...デバッグを行う必要があると思います。

2番目の編集:
わかりません。異なる可能性があるのは、ホスト/ポートだけです。
例では char* argv[] を使用しており、私は以下を使用しています:

3番目の編集:
確かに接続時にブロックされているようで、fflush(stdout)を忘れていました。それならソケットに問題があるはずです。さらにテストを行う予定です。

4番目の編集:
ばかげて、まったくブロックされていませんでした!私はコンソール出力に頼りすぎていました..

0 投票する
1 に答える
220 参照

g++ - 誰かがg++3.4.2とg++4.1.2のこのリンカーの違いを説明できますか?

あるプラットフォームから別のプラットフォームにコードを移動したところ、コンパイラのバージョンを変更する必要がありました。ユーティリティソースのうちの2つは、未定義のシンボルとのリンクの問題を引き起こしました。この例では、それらをFoo.cおよびFoo.hと呼びます。

すべてがコンパイルされ、g ++ 3.4.2で正常にリンクされていたので、g++4.1.2への切り替えは簡単だと思いました。4.1.2を使用すると、コンパイルは正常に行われましたが、シンボルが定義されていないためにリンクが失敗しました。他のソースファイルで使用されたFooのすべての関数のシンボル。Foo.hがBar.cに含まれていても、Bar.cは未定義でした。

問題は、Foo.cファイルにFoo.hが含まれていないことでした。だから問題は、4.1.2ができなかったときにg ++3.4.2がこのコードをどのようにリンクしたのかということです。3.4.2は.hファイルを予期していて、この問題を回避するために「魔法のように」それを含めていたと思います。しかし、誰かがより良い説明を持っていますか?

0 投票する
6 に答える
213810 参照

c - 可変個引数マクロの作り方(引数の数が可変)

特定の数ではなく、任意の数のパラメーターを受け入れるマクロを C で作成したい

例:

X任意の数のパラメータ

whateverオーバーロードされており、2 つまたは 4 つのパラメーターで呼び出すことができるため、これが必要です。

マクロを 2 回定義しようとしましたが、2 回目の定義で最初の定義が上書きされました。

私が使用しているコンパイラは g++ (具体的には mingw) です。