Amoiensis / Matrix_hub

A lib of Matrix operation for C language. (矩阵运算库--C语言)
Apache License 2.0
234 stars 53 forks source link

A memory leak #1

Open Infinite-Ryvius opened 4 years ago

Infinite-Ryvius commented 4 years ago

作者你好,我尝试了采用了您的运算库,发现里面存在一些内存泄漏的问题。

  1. 有些矩阵操作里面生成了新的矩阵,但是这些矩阵并不是需要的返回值,同时也没有在内存中释放掉;
  2. 有些矩阵操作也生成了新的动态对象,比如M_Uptri_4inv ,M_Lowtri_4inv等操作,这些操作里面产生的新变量也同样没有被释放掉。
  3. 虽然矩阵库里面存在释放内存函数,但是在进行实际矩阵操作时,由于矩阵操作是嵌套和多步骤的,这种方法会导致工作的不便。
Amoiensis commented 4 years ago

谢谢您!确实是的,我将对于您提出的这些问题进行修改和完善。 对了,如果您有兴趣,也非常欢迎和期待您能同我一起完善和丰富这个运算库。

Amoiensis commented 2 years ago

您好,内存的控制在最新版本,v1.43(Matrix_Hub)中已经得到控制。

  1. 之前内存溢出的问题在于对“初等变换”结构体没有很好的释放;
  2. V1.43更新,除了解决了内存管理问题,也更新了求逆运算的算法,提升运算速度;

非常感谢您对本项目的关注和支持,希望本项目能够帮助到您,也非常希望您能和我一起完善和丰富这个项目。

Amoiensis commented 2 years ago

您好,

  1. 内存的控制在最新版本,v1.50(Matrix_Hub)中已经得到基本解决,可以使用 help("Memory_Manager") 查看。
  2. 对于矩阵的嵌套的调用, 后续将会采取对应方法优化, (或将推出类似Matlab 的工作窗, 查看目前内存中,定义存在的矩阵变量);