OpenMP エラー 1002

投稿日 by Iwao

—————————
致命的なユーザー エラー 1002:
—————————
同一名の 1 つで ‘#pragma omp critical’ が不適切に入れ子にされています
致命的なユーザー エラー 1002: 同一名の 1 つで ‘#pragma omp critical’ が不適切に入れ子にされています
2.9 ディレクティブの入れ子
局所的になる様に,呼び出し元での “#pragma omp critical” を削除.

class Profile {
  ...
protected:
  LPCTSTR  LastProfileName ;
  CString  C_T_ProfileName ;
  ...
  } ;

BOOL Profile::SaveProfileName(void)
{
  CWinApp* app = AfxGetApp() ;
  if (app== NULL) { return FALSE ; }
  LastProfileName = AfxGetApp()->m_pszProfileName ;
  AfxGetApp()->m_pszProfileName = C_T_ProfileName ;
  return TRUE ;
  }
BOOL Profile::LoadProfileName(void)
{
  AfxGetApp()->m_pszProfileName = LastProfileName ;
  return TRUE ;
  }

omp critical ではなく,MFC 同期クラスを使用する様に変更.

//  以下は,テスト用のコード
BOOL Profile::?et??? (LPCTSTR lpszSection,LPCTSTR lpszEntry,...)
{
  ...
  CMutex m(FALSE,MN_LPN) ;
  m.Lock() ;
// return    ???Profile??? (lpszSection, lpszEntry, ...) ;
  BOOL ret = ???Profile??? (lpszSection, lpszEntry, ...) ;
  m.Unlock() ;
  return ret ;
  }
//  MFC 同期クラスの呼出しはコストがかからない様に修正する
この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください