使用C语言调用 liblapack.a 的使用方法及其原理探析

1, 使用方法

1.1 源代码

#include <stdio.h>
//#include <lapack/lapacke.h>
extern void dgesv_(int*m, int* n, double*A, int*k, int*IP, double*B, int*j, int*info);

#define M 2
#define N 2

int main()
{
        int i, j, n=N, m=M;
        int info, IPIV[N];
        double A[M * N]= { 1,  2,  4,  2};
        double B[M*N] = {5, 4, 2.5, 2};

        dgesv_(&n, &n, A, &n, IPIV, B, &n, &info);

        for(j=0; j< 2*N; j++)
        {
                printf("%f\t", B[j]);
        }

        printf("\n");

        return 0;
}

1.2 构建

gcc hello_gesv.c -o hello_gesv  ../lapack-3.10.0/liblapack.a ../lapack-3.10.0/librefblas.a -lgfortran -lm

1.3 运行

2.  为什么

2.1 问题1 函数名为何是这样的 dgesv_

2.2 问题2 函数原型

为何是这样的extern void dgesv_(int*m, int* n, double*A, int*k, int*IP, double*B, int*j, int*info);

未完待续... ...

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 20:22:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 20:22:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 20:22:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 20:22:04       18 阅读

热门阅读

  1. 10000访问量纪念日

    2024-01-12 20:22:04       38 阅读
  2. 【计算机二级考试C语言】C程序结构

    2024-01-12 20:22:04       36 阅读
  3. 算法训练营Day36

    2024-01-12 20:22:04       32 阅读
  4. 【力扣每日一题】力扣2707字符串中的额外字符

    2024-01-12 20:22:04       34 阅读
  5. 自定义Flink SourceFunction定时读取数据库

    2024-01-12 20:22:04       33 阅读
  6. 学习使用php、js脚本关闭当前页面窗口的方法

    2024-01-12 20:22:04       34 阅读
  7. Wine源码中添加新的DLL模块

    2024-01-12 20:22:04       38 阅读
  8. SpringBoot 配置文件

    2024-01-12 20:22:04       25 阅读
  9. Springboot 中接口服务重试机制

    2024-01-12 20:22:04       24 阅读