我在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