問題タブ [gcc]

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 投票する
3 に答える
7778 参照

command-line - $ORIGINを使用してRPATHをCode::Blocks GCCで機能させる方法は?

特別な文字列$ORIGINを含むRPATHを、Code ::BlocksIDEでGCCを使用して構築された実行可能ファイルにリンクしようとしています。指定しました

プロジェクトのリンカオプションにありますが、GCCへのコマンドライン出力が間違っています(わかりやすくするために削除されています)。

Code :: Blocksにこの引数を指定する正しい方法は何ですか?

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

c++ - stlを使用してLinuxでgccを使用してfindfirst、findnextを実行する標準的な方法はありますか?

Linux の gcc で _findfirst / findfirst、_findnext / findnext API が見つからないようです。実際には、標準テンプレート ライブラリ (STL) が含まれている場合はそれを使用します。

Linux for C++ (gcc) のディレクトリ内のファイルを一覧表示するために使用できる API を知っている人はいますか?

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

gcc - AmigaOS 用に GCC でアプリを再コンパイルするための良い FAQ?

amigaOS で動作するように再コンパイルしようとしているオープン ソース アプリがいくつかあります。ソースをコンパイルする前に、(経験則の観点から)どのような変更をソースに加える必要があるかを説明する、適切なステップバイステップのガイドを教えてもらえますか?

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

c++ - gcc-arm ツールチェーン用の Boost C++ ライブラリ

timesys arm-gcc ツールチェーンで 1.35.0 と 1.36.0 を静的 (link-static) と動的 (.so、デフォルト オプション) の両方で問題なくビルドできます。

ただし、単純なサンプル ファイルシステム アプリをリンクしようとすると、次のようになります。

次のリンカ エラーが発生します。

Boost を gcc-arm ツールチェーン用にビルドする方法を知っている人はいますか?

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

c++ - GCC でコンパイルされた静的ライブラリには何が含まれていますか?

私のアプリケーションは libsamplerate.a にリンクしています。これは、最終的なバイナリを簡単に配布できるようにするためです。

.a ファイル内のコードが、配布する必要がある他のライブラリに依存している可能性があるのではないかと心配しています。

しかし、そうでない場合は、たとえば. libc。

libsamplerate.a の中身は正確には何ですか? libsamperateのバイトコードだけ?以上?

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

optimization - どうすれば-Oを理解できますかオプションはgccで実行しますか?

各-O<num>オプションがオンになる特定のスイッチを印刷(または検索)できたことを覚えているようです。思い出してもらえますか?

ありがとう!

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

windows - C(++) コンパイラの移行 - DJGPP を廃止してください

私はカーネルの作成に取り組んでおり、プロジェクトで一緒に働いている友人が何人かいます。しばらくプロジェクトをコンパイルするために DJGPP を使用してきましたが、この方法でコンパイルするとクロスプラットフォームの互換性の問題が発生し、プロジェクトのメインの Partnet を Windows XP でコンパイルできなくなりました。(DJGPP の GCC は、Windows XP では 127 を超える引数リストに問題がありますが、Vista では同じ引数リストに問題はありません。つまり、一度だけ、Vista は XP よりも何かでうまく機能します。oO)

とにかく、DJGPP でコンパイルするためにいくつかの汚いハックを試みるよりも、DJGPP を完全に捨てて、Windows 用の GCC の別のバージョンを使用することにしました。問題は、(私の知る限り) MinGW では、コードのアセンブリ部分に NASM 構文を使用できないことです。この時点ですべてを AT&T 構文に変換するのは少し面倒です。もちろん、プロジェクトのかなり初期の段階なので可能ですが、面倒です。

だから今、あなたは問題を知っています。私の質問は次のとおりです。Windows 用のどの GCC コンパイラ ディストリビューションを使用すると、このプロジェクトをそれ自体に最も簡単に移植できますか? 理想的には、NASM アセンブラー構文を実行でき、外部 dll に依存せず (これはカーネルであり、アクセスできません)、Windows 上の複数のバージョンで一貫して動作するものを探しています。これを行うための最良の方法についての推奨事項は何ですか?また、Windows用のGCCのどのバージョンをお勧めしますか?

プロジェクトを AT&T 構文に変換する必要がある場合は、それで問題ないことに注意してください。実際には NASM を使用してそのアセンブリ ビットをアセンブルしており、有効な .o ファイルが生成されますが、MinGW は何らかの理由でそれをリンクできません。インライン アセンブリ ビット (おそらく 5 行) は、GCC で必要な AT&T 構文になっていると思います。

ありがとう!

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

c++ - コンパイル時に現在のバージョンの GCC をテストするには?

GCC のバージョンに応じて別のファイルをインクルードしたいと考えています。より正確には、次のように書きたいと思います。

3.2より前のgccは気にしません。

そのための前処理時に変数が定義されていると確信していますが、もう一度見つけることができません。

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

c - Fortran プログラムの mtrace

mtraceFortran プログラムでメモリ リークを検出するために使用しようとしています。gfortran コンパイラを使用しています。mtrace の (動作する) C の例については、ウィキペディアのエントリを参照してください: http://en.wikipedia.org/wiki/Mtrace

私は両方の方法を試しました。つまり、mtrace() と muntrace() をラップして fortran プログラムから呼び出し、また mtrace() と muntrace() を直接呼び出す C プログラムを作成しました。どちらの方法でもメモリ リークを検出できませんが、ここでは後者のみを紹介します。

example.c

leaky.f90

私はコンパイルします:

次に、次のように実行します。

raw.txt mtrace次に、出力を次のように解析します。

そして得る:

メモリリークはありません。

私が間違っていることはありますか、またはmtraceリークのあるfortranメモリ割り当てを見つけるためにできることはありますか? gfortran はトレースしない別のmalloc呼び出しを使用していると思いmtraceます... 実際、上で書いたように、(ラップされた)mtrace()muntrace().

EDITED:他のオプション(ここではまだ言及されていないものを含む)を検討しましたが、デバッグ中の実際のコードはP6 / AIXで実行されるため、Valgrindは「ちょうど」不便です(別のマシンで実行する必要があります)一方、Forcheckは不便 (別のマシンで実行する必要があります) で、高価です (~ 3k$)。現時点では、mtrace が最適なソリューションです。

再編集:私の推測

gfortran はトレースしない別のmalloc呼び出しを使用していると思います...mtrace

正しかった。実行可能ファイルを調べると ( または のいずれかでnm)readelf呼び出しはありませんmalloc()が、_gfortran_allocate_arraymalloc を呼び出す可能性があるものがあります)。他のアイデアはありますか?

再度編集: 回答を投稿しましたが、受け入れることができません ( http://stackoverflow.uservoice.com/pages/general/suggestions/39426にアクセスして、機能をリクエストしてください。本当に必要です。評判の向上は必要ありません)。

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

c++ - std::streams は既に移動可能ですか?

GNU gcc 4.3 は、今後の c++0x 標準を部分的にサポートします。実装された機能の中には、右辺値参照があります。右辺値参照を使用すると、コピー不可能なオブジェクトを移動したり、関数からオブジェクトを返したりすることが可能になります。

std::streamsは右辺値参照によって既に移動可能ですか、それとも現在のライブラリの実装には何かが欠けていますか?