作者paddyzb (Leeptpt)
看板C_and_CPP
標題[問題]關於OPENMP的使用方法
時間Mon Feb 26 22:16:15 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
DEV C++
問題(Question):
各位版友們好,小弟想用C++跑物理相關的運算
但因為執行效率差,所以加入了openMP這個模組來做平行處裡
當我程式是這樣寫時,並沒有問題:
https://imgur.com/6F6pSD5.png
但如果把函數回傳的值丟進陣列裡,就會出現xxx.exe已停止運作等錯誤訊息:
https://imgur.com/yzHzE2P.png
請問這是為什麼呢?
還麻煩各位版友們了~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.176.203
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1519654577.A.456.html
※ 編輯: paddyzb (42.73.176.203), 02/26/2018 22:16:50
→ james732: 你的a是什麼東西?另外建議不要用截圖的方式貼程式 02/27 00:17
→ iFEELing: 把g()拿掉看會不會過 會的話就把g()貼上來 02/27 00:22
→ tcn1john: a[i] 超出可用範圍吧 02/27 08:33
→ skyrimrvks: a的空間有至少202以上嗎? 02/27 20:43
→ skyrimrvks: 至少201 02/27 20:44
→ joe820730: 陣列的第一個位置是a[0]不是a[1],你這樣寫到a[200]的 02/27 23:19
→ joe820730: 時候實際上是存取到a陣列的第201的位址,所以如果你的 02/27 23:20
→ joe820730: 陣列a[]只給200,那程式就會存取到不該存取的地方了 02/27 23:20