問題タブ [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++ テンプレート、未定義参照
次のように宣言された関数があります。
次のように定義されます。
ただし、 main() 関数で使用しようとすると:
g++ から次のエラーが表示されます。
誰かが私を正しい方向に向けることができますか?
c++ - 一般的な C++ 最適化手法のリスト
一般的な C++ 最適化プラクティスの優れたリストを入手できますか?
最適化とは、コンパイラの設定を変更するのではなく、プログラムをより高速に実行できるようにソース コードを変更する必要があるということです。
c++ - GNU C++ プログラムを Visual C++ に移植する
Linux で GNU C++ から作成された makefile を使用して C++ プログラムを Visual C++ に移植するにはどうすればよいですか?
c++ - Eclipseで「認識されないエミュレーションモード:32」エラーが発生するのはなぜですか?
-m32引数を使用してコンパイルすると、どうしてこのエラーが発生するのですか?
認識されないエミュレーションモード:32
x86_64マシンでg++を使用してコンパイルしています。これは1つのプロジェクトで発生しますが、他のプロジェクトでは発生しません...ヒントはありますか?
注:私はEclipse CDTを使用しているので、おそらくこれはIDE固有のゴチャですか?
言い換えられた質問
おそらく、より良い質問は次のようになります。x86_64マシンで実行しているときに、Eclipseでx86バイナリを構築するための最良の方法は何ですか。
objective-c - Linux ガベージ コレクション上の Objective-C はありますか?
Objective-C v2.0 (Mac が使用するもの) には、ガベージ コレクションという新機能が追加されました。私はLinux PCの子供です(不思議に思っている場合はUbuntu)。私の質問は、gcc/g++ コンパイラの使用は Objective-C ガベージ コレクションですか?
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
ああ、とにかくありがとう!
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番目の編集:
ばかげて、まったくブロックされていませんでした!私はコンソール出力に頼りすぎていました..
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ファイルを予期していて、この問題を回避するために「魔法のように」それを含めていたと思います。しかし、誰かがより良い説明を持っていますか?
c - 可変個引数マクロの作り方(引数の数が可変)
特定の数ではなく、任意の数のパラメーターを受け入れるマクロを C で作成したい
例:
X
任意の数のパラメータ
whatever
オーバーロードされており、2 つまたは 4 つのパラメーターで呼び出すことができるため、これが必要です。
マクロを 2 回定義しようとしましたが、2 回目の定義で最初の定義が上書きされました。
私が使用しているコンパイラは g++ (具体的には mingw) です。