次の方法で共有


マルチスレッド プログラムの問題を回避する方法

マルチスレッド C プログラムの作成、リンク、または実行では、問題が発生する可能性があります。 一般的な問題の一部の説明を次の表に示します。 この問題に関する MFC の視点による説明については、「マルチスレッド : プログラミングのヒント」を参照してください。

問題

考えられる原因

プログラムによる保護違反を示すメッセージ ボックスが表示される。

Win32 での多くのプログラミング エラーは、保護違反の原因となります。 保護違反の一般的な原因は、NULL ポインターにデータを間接的に割り当てることです。 その結果、プログラムは、プログラムに属していないメモリにアクセスしようとするため、保護違反となります。

保護違反の原因を検出する簡単な方法は、デバッグ情報を取り込んでプログラムをコンパイルして、Visual C++ でデバッガーを通して実行することです。 保護違反が発生すると、Windows は、制御をデバッガーに渡し、問題が発生した行にカーソルを置きます。

多数のコンパイル エラーとリンカー エラーが出力される。

潜在的な問題の多くは、コンパイラの警告レベルを最も高い値にセットして、警告メッセージに注意することにより取り除くことができます。 警告レベル オプション 3 または 4 を使うと、意図しないデータ変換や、関数プロトタイプの不足、非 ANSI 機能の使用などを検出できます。

参照

概念

C と Win32 を使用するマルチスレッド