我在C++中有一個程序,主要執行矩陣乘法,加法運算等等。經過數百萬次執行後的C++程序穩定性
問題是,當計算執行大約3百萬次時會發生EXC_BAD_ACCESS。
當數百萬次和幾個小時執行問題時,是否會出現任何可能的問題?該方案的
詳細說明:
該方案是簡單地在不同範圍的值的計算,所以它是在同一時間上6個線程執行。線程之間沒有資源共享。
似乎是因爲該方案沒有明顯的問題:
- 沒有內存泄漏,我已經證實了這一點使用儀器和程序的內存大小是穩定的。
- 該程序可以在每個線程上執行至少200萬次而沒有任何問題,但幾乎可以保證EXC_BAD_ACCESS異常會在某個線程上出現一段時間。
關於矩陣乘法(除了在我的2次節目的嘗試(2/2)發生):
有時矩陣的大小約爲2 * 2乘2 * 1000。
矩陣的元素是一個自定義的複數類。
元素的值由rand()隨機生成並轉換爲float。
的結構是這樣的:
class Complex
{
private:
float _real, _imag;
public:
// getters, setters and overloaded operators
};
class Matrix
{
private:
Complex **_values;
int _row,_col;
public:
getters, setters and overloaded operators
};
非常感謝您!
任何可能的崩潰原因都非常受歡迎!
'EXC_BAD_ACCESS'通常意味着代碼中的錯誤或硬件不穩定。 – Mysticial
不看實際的代碼很難說。 – Escualo
#Mystical:好的......有問題的可能性......這只是對我而言還不清楚......請給我一些關於錯誤類型的提示嗎?啊...不穩定的硬件是可能的...我使用Mac OS X 10.8,Xcode 5和llvm 5,似乎這種類型的科學計算在ubuntu中更好。不知道編譯器上的任何調整是否有幫助... – Lewen