問題タブ [compiler-flags]
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++ - gnu autotools リンカー フラグの並べ替え
C++ のプロジェクトで gnu autotools を使用しています (autotools 構成は eclipse cdt によって自動的に生成されますが、これは問題ではないと思います)。私は LLVM ライブラリを使用していますが、現在、リンカー フラグの順序に関する問題に直面しています。
基本的に、プロジェクトをビルドするとき、eclipse は「make」を実行します。Make は多くのコマンドを実行しますが、最後に g++ コンパイラを次のように実行します。
そしてリンカー:
問題は、引数「test.o」が行の先頭にない場合、リンカーが失敗することです。したがって、次のようにする必要があります。
Makefile.am または gnu autotools の構成ファイルで変更するにはどうすればよいですか?
gcc - 最適化なしでコンパイルしますか? できるだけ安全?
非常に奇妙な動作をするコードがいくつかあります。私の出力が実際には起こっていないと非難する奇妙な十分な人々がいます(それが私の人生を楽にしてくれることを願っています)。コードは Windows (ms vc++、gcc) では正常に動作しますが、Linux (gcc、clang) では失敗します。
私は現在コンパイルしていますg++ -g -std=c++0x -Wall -c file.cpp
が、それよりも安全なものはありますか? ああ、この segfaults (Linux の場合) は警告が表示されなくても...
xcode - 特定のファイルでxcodeにARCを使用させる方法は?
私のプロジェクトには、ARC で使用する必要があるファイルを含む XMPPFramework が含まれています。しかし、私のプロジェクトは非 ARC であり、他の特定のライブラリがリンクされているために変換できません。
コンパイラが特定のクラスでのみ ARC を使用するように強制するにはどうすればよいですか?
gcc - gcc コンパイラが最初のエラーで停止しない
最初のエラーの後にgccがコンパイルを停止しないようにするにはどうすればよいですか? これを行うコンパイラフラグはありますか?
基本的にはクラスを削除したいのですが、それがどの程度の影響を与えるかはわかりません。そのため、メイクファイルからクラスを削除すると、問題が発生するクラスの数を特定したいと考えています。
この影響を判断するより良い方法はありますか?
gcc - いくつかの共有ライブラリで -fwhole-program や -fprofile-generate などの特定の最適化をいつ使用するか
おそらく簡単な答えです。これらのフラグの一部について、GCC のドキュメントで使用されている言語にかなり混乱しています。
とにかく、私は 3 つのライブラリと、これら 3 つすべてを使用するプログラムを持っています。個々の (潜在的に) 異なる警告フラグのセットを使用して、各ライブラリを個別にコンパイルします。ただし、3 つのライブラリすべてを同じ最適化フラグのセットでコンパイルします。
次に、これら 3 つのライブラリにリンクするメイン プログラムを、独自の警告フラグのセットと、ライブラリのコンパイル中に使用されるのと同じ最適化フラグを使用してコンパイルします。
1) 最適化フラグが存在する状態でライブラリをコンパイルする必要がありますか? または、最終的なプログラムをコンパイルしてライブラリにリンクするときにこれらのフラグを使用できますか? 後者の場合、これらのライブラリ内のコードのすべてまたは一部 (おそらく呼び出されたもの) を最適化しますか?
2) -fwhole-program -flto -fuse-linker-plugin とリンカー プラグイン ゴールドを使用したいと思います。どの段階でこれらを使用してコンパイルしますか...最終的なコンパイルだけですか、それともライブラリのコンパイル中にこれらのフラグが存在する必要がありますか?
3) 2) とほぼ同じですが、-fprofile-generate -fprofile-arcs および -fprofile-use を使用します。最初にプログラムを生成して実行し、次に使用して実行することを理解しています。ただし、各ライブラリを生成/使用などでコンパイルする必要がありますか、それとも最終的なプログラムだけですか? また、それが最後のプログラムである場合、-fprofile-use でコンパイルすると、ライブラリの機能も最適化されますか?
windows - どのような場合に QMAKE_CXXFLAGS を指定する必要がありますか?
私の .pro ファイルは次のようになります。
それでもqmake-cxxflagsを使用する必要がありますか?
そのフラグはどのような場合に使用する必要がありますか?
gcc - GCC の「-wrapper」フラグは何をしますか?
GCC manualから、次の全体的なオプションがあります。
-wrapper
ラッパー プログラムの下ですべてのサブコマンドを呼び出します。
ラッパー プログラムの名前とそのパラメーター
は、コンマ区切りのリストとして渡されます。gcc -c tc -wrapper gdb,--args
gdb --args', thus the invocation of cc1 will be
これにより、 gdb --args cc1 ...' の下で gcc のすべてのサブプログラムが呼び出されます。
フラグの例と目的を理解するのに苦労しています。
gcc -c tcは toを作成します。
そして何?オブジェクトファイルはgdbに送信されますか?
それともオブジェクトファイルを作成する責任がgdbに与えられていますか(おそらくデバッグ情報を追加していますか)?
visual-studio-2010 - Visual Studio 2010でCUDAコンパイラフラグを設定するにはどうすればよいですか?
しつこく取得した後、フラグerror : identifier "atomicAdd" is undefined
を使用してコンパイルすることが解決策であることがわかりました。-arch sm_20
しかし、VS 2010でこのコンパイラフラグを渡す方法は?私はそのように下で試しましたProject > Properties
:
しかし、これは明らかに効果がなく、エラーが続く-私は何を間違っているのですか?
どうもありがとう。
c - fork()関数を使用したLinuxでのプロセスの作成
関数C
を使用してプロセスを作成するコードをコンパイルしようとしています。`fork()
ターミナルでコンパイルさ"gcc -Wall -W -Werror main.c -o ProcessCreateC"
れます。エラーが発生しました:
私はWindowsでのコンパイルの経験しかなく、の経験もほとんどないのでLinux
、これを引き起こしている原因がわかりません。何か案は??
xcode - 警告がある場合にXcodeがビルドされないようにする
Xcodeプロジェクトに警告がないようにしたい。警告がある限りビルドされないようにXcodeを構成するにはどうすればよいですか?