c - C - 矩阵乘法 - 使用最大可分配 RAM 大小
问题描述
我正在尝试解决以下问题:
“编写一个将 nxn 矩阵乘以 n 元素向量的 C 程序。选择内存允许的最大 n。”
矩阵乘法很容易实现,你可以在互联网上找到足够的信息,但我不知道如何计算出我的内存的最大可分配大小。
我想到的第一件事是使用函数 malloc() 和 realloc() 进行动态内存分配,看看它有多少可能。
int main() {
int n = 0;
float** first = (float**) malloc(sizeof(float*));
while(1) {
next** = (float**) realloc(first, n * sizeof(float*));
n++;
if (next == NULL) {
break;
}
}
}
问题是,Windows 10 正在使用虚拟 RAM 和其他东西,所以这种方法会导致无限循环。
有任何想法吗 ?
解决方案
推荐阅读
- c++ - 从 QT5 中的 XML 读取多个属性
- javascript - 使 iframe 从 Safari 中的父级继承 cookie
- mysql - SQL中“字段列表”中的未知列
- python - 我们将如何在 python 中编写 def get_row_wise_counts_matrix(input_matrix): 的以下场景?
- geotools - 这是多边形中的一个点。纬度和经度坐标。地理工具
- python - 我们可以在 selenium python 中找到文本的 xpath
- scalafx - 如何在 ChoiceBox 中设置项目
- angular - 角子组件视图没有得到更新
- android - 动画启动画面不出现
- google-cloud-platform - GCP 数据存储:如何对数据进行建模?