我在c中正确使用dger(),我的代码如下:
#include <stdio.h>
#include "blas.h"
int main() {
double a[4*5] = { 1, 2, 3, 4, 5,
6, 7, 8, 9,10,
11,12,13,14,15,
16,17,18,19,20
};
double x[4] = {2,3,4,5};
double y[5] = {7,8,9,10,11};
int tm=4, tn=5, tone=1;
dger(&tm, &tn, &tone, x, &tone, y, &tone, a, &tm);
}
代码编译没有错误,但当我执行代码时,它崩溃了。因为我正在编写一个mex C文件(MATLAB C代码),所以我没有真正了解代码崩溃的更多细节-我省略了mex入口函数的开销等等。
必须检查您的参数:https://www.netlib.org/lapack/explore-html/d7/d15/group__double__blas__level2_ga458222e01b4d348e9b52b9343d52f828.html特别是,您缺少alpha
参数(传递&tone
代替)。