問題タブ [icc]
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.
gcc - Intel CompilerであるICCのGCCのfno-strict-aliasingフラグに相当するものは何ですか?
Intel コンパイラは -fno-strict-aliasing フラグを逐語的に受け入れるようですが、その動作が文書化されている場所は見たことがなく、フラグは無視される可能性があります。-no-ansi-alias などのフラグは関連しているように見えますが、正確に正しい動作を指定するようにしたいと考えています。
c - デフォルトの AT&T 構文ではなく、icc から Intel 構文の asm 出力を取得しますか?
問題が発生しました。しばらくの間、gcc を使用して C コードをコンパイル/アセンブルし、インテルのアセンブリ構文を読むことに慣れてきました。-masm=intel
アセンブリ ファイルを生成するときにフラグを使用しました。
しかし最近、会社の移転により、彼らは Intel の icc を取得し、そのほうが優れていると主張しました。そこでiccを使う必要があるのですが、デフォルトのアセンブリ構文がAT&Tなのが不思議でした。変えてみたけどダメだったので、インテルのサポートに問い合わせたところ、こちらも不明で、それぞれ矛盾した回答でした。
gcc と icc を統合して、icc のコンパイルの「優位性」を使用しながら、同時に gcc を使用してインテルの構文にコンパイルする方法はありますか?
ubuntu を使用しており、icc バージョン 12.x を取得しています
c++ - 可変長配列を使用したICCセグフォールティング
したがって、basicicc bob.cpp -o bob
でコンパイルして実行すると、次のコードがsegfaultsします。
ただし、次の2つの同様のプログラムは正常に実行されているようです。
と
何が起こっているのか少し混乱しています。どうやら、可変長配列は非標準であり、私は常にそれをサポートするg ++を使用していたので、これは私にとって驚きでした。ただし、ICCでサポートされていない場合、なぜコンパイルされるのでしょうか。また、なぜ例2が「機能する」のでしょうか。
ここでの正しいコードは何ですか。最初のスニペットが正しくない場合、なぜコンパイルされ、次にセグメンテーション違反になるのでしょうか。
2011 x86_64 Intel(R)Core(TM)i5でicc(ICC)12.0.220110112を使用しています。
ありがとう
c++ - gcc /g++とicc
業界のソフトウェア開発ビジネスで人気のあるものはどれですか?Linuxではgcc/g ++の方が人気があり、Windowsではiccの方が人気があると主張する人もいます。他にどちらかを選択するものはありますか?
c++ - ICCコンパイルに関するC++0xの問題
私はこれをiccでコンパイルすることに問題があります。
上記の問題の解決にご協力ください。ありがとう。
c++ - NULL 値を返す
framebufferd3d11.h のスニペット
framebufferd3d11.cpp のスニペット
icc でコンパイルすると、NULL は 0 として定義されるため、NULL の代入値に問題が発生します。このような問題を解決するにはどうすればよいですか?
c++ - コンパイル時に ICC と GCC を検出する
gcc または icc を使用しているかどうかをコンパイル時に検出する方法は?
__GNUC__
(私は、icc が定義していることを知るのに非常__GNUC_MINOR__
に戸惑いました__GNUC_PATCHLEVEL__
。
linux - Ubuntu で mpi.h の G++ または ICC を設定する
VS08 以外で主要なプログラミングを行ったことはありません。
関連する 2 つの make ファイルのいずれかを使用して、LAMMPS というプログラムをコンパイルしようとしています。1 つは g++ を呼び出し、もう 1 つは icc (Intel のコンパイラ) を呼び出します。
icc は次のエラーを生成します。
icc -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M write_restart.cpp > write_restart.d write_restart.cpp(15): 致命的なエラー: ソース ファイル "mpi.h" を開けません #include "mpi.h"
そしてg ++はこのエラーをスローします
g++ -g -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M verlet.cpp > verlet.d pointers.h:25: 致命的なエラー: mpi.h: そのようなファイルまたはディレクトリのコンパイルは終了しませんでした。
mpi.h ファイルは /usr/lib/openmpi/include にあります。
読み取る $PATH 変数を設定する必要があることは私の理解です
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/opt/intel/bin:/usr/lib /openmpi/インクルード:
および現在読み取り中の $LD_LIBRARY_PATH
/usr/lib/openmpi/lib:
SO、mpi.h ファイルをどのようにインクルードしますか? iccまたはg ++のいずれかがそれを見つけるように?
python - セグメンテーション違反は、共有ライブラリがicc -O3または-O2によって最適化され、Pythonctypesを介して使用された場合に発生します
セグメンテーション違反を取得できなかったため、この動作は奇妙です
- 共有ライブラリが最適化なしまたは最適化なしでコンパイルされた場合(-O0または-O1)
- 共有ライブラリがgccでコンパイルされた場合、最適化フラグ(-O3)を使用しても
- 純粋なCプログラムから(ctypes経由ではなく)コードを実行した場合
さらに、一部のマシンでセグメンテーション違反を取得できませんでした。
私のコードにバグを見つけた場合、それはより良いですが、他のより一般的な質問があります:
- それはiccまたはctypesのバグである可能性がありますか?特定の環境で奇妙な動作を再現できたとしても、バグを提出して追跡システムを発行しても大丈夫ですか?
- コードをデバッグしようとしましたが、このバグはコードが最適化されている場合にのみ表示されるため、デバッガーを使用すると「xxxは定義されていますが、割り当てられていません(最適化されていない)」というメッセージがたくさん表示されます。最適化されたコードをデバッグするためのより良い方法はありますか?
バグを再現する方法
ライブラリのソースコードstrange.cとhtepythonスクリプトrun.pyがあるとすると、次のようなセグメンテーション違反が発生します。
私のマシンの1つでこのバグを再現できることに注意してください
uname -m
:i868- OS:Ubuntu 10.04.2 LTS
- icc:12.0.0 20101006
- Python:2.6.5
- ゴツゴツ:1.3.0
しかし、ではありません
uname -m
:i868- OS:Ubuntu 10.10
- icc:12.0.3 20110309
- Python:2.6.6
- ゴツゴツ:1.3.0
また
uname -m
:x86_64- OS:Scientific Linux SLリリース5.5(Boron)
- icc:12.0.0 20101006
- Python:2.6.5
- ゴツゴツ:1.5.0b1
コード
ここ(tkf / ctypes_icc / source – Bitbucket)または以下のコードセットを見つけてください。プログラムを実行し、すべての最適化フラグとコンパイラー(gccおよびicc)を使用して終了コードを確認するためのMakefileとシェルスクリプトを見つけることができます。このプログラムの元のバージョンは私の研究のためのシミュレーションプログラムですが、このプログラムは単なる無意味なプログラムです。
奇妙な.c:
run.py:
c++ - int8_t の複合割り当てが int に昇格することを示唆するコンパイラの警告に困惑
通常、コンパイラの警告の背後にある理由は理解できますが、これは明らかに間違っているようです。
-Wall を使用した Intel コンパイラは次のように文句を言います。
これは正しいですか?上記のコードは移植性がなく、何らかの形で非標準ですか?