問題タブ [sunstudio]
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.
cmake - Sun Studio コンパイラを検出し、プラットフォーム ライブラリを CMakeList.txt に追加しますか?
Solaris 11.3 上の Sun Studio 12.5。1 つの問題を解決して、次の問題に進む... CMake でプロジェクトをビルドすると、以下のリンク エラーが発生します。
SunCC を検出して に追加するだけの簡単な問題だと思い-lnsl -lsocket
ますLDLIBS
。ただし、SunCC コンパイラを検出する方法は、私を回避します。2006 年の古い投稿を見つけました ( Linux での Sun Studio コンパイラの検出エラーから):
Linux で Sun Studio コンパイラを使用しようとしていますが、cmake コンパイラ テストを通過するのに苦労しています。
知る限り、誰もこのコンパイラで CMake を試したことはありません.... CMake は、他の Linux コンパイラ (GNU や Intel など) が受け入れるフラグを受け入れると仮定して、コンパイラを呼び出しています... 構成するには、プラットフォーム ファイルをセットアップする必要があります。このコンパイラ。
CMake Compiler IDsSunPro
から使用しようとしましたが、以下に示す同じエラーが発生します。
私の質問は、CMakeList.txt で Sun Studio コンパイラを検出するにはどうすればよいですか? または、どうすれば Solaris を検出できますか?
これが CMakeList.tx ファイルです。まだチェックインされていないため、ここにダンプする必要があります。
c++ - gcc は初期化されていないポインタを NULL に初期化できますか? または、この動作を説明するものは何ですか?
gcc
への初期化されていないポインタをどうにかして初期化できますNULL
か?
職場では、 gcc 4.1.2とSun Studio 12の両方でソフトウェアを構築しています。Red Hat Enterprise Linux で実行される gcc バージョンは、数か月間、週 5 日、正常に実行されています。
ただし、Solaris バージョンをロールアウトしたばかりで、起動時に毎日クラッシュします。
スタック トレースにより、次のようなコードが表示されます。
そして、_timer
どこにも初期化されていないことを確認しました。したがって_timer
、 をガベージ データに設定する必要があると考えられます。これは との比較に失敗し、タイマーが構築されることなく 'ed にNULL
なります。StartTimer
仕事は実際に私の同僚に割り当てられており、彼はこれを検証しています。しかし、その間、私は興味がありました: Linux (gcc) ビルドがクラッシュしなかったのはなぜですか? 同じコードであることは保証できます。Perforce と厳密なラベル付けを使用しています。コンパイラは初期化されていないポインタを初期化しないと読んだので、混乱しています。
初期化されていないポインターをgcc 4.1.2
絶対に自動初期化できないことを確認すると、この質問に答えることができます。または、そうかもしれません。