首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用BLAS函数

调用BLAS函数
EN

Stack Overflow用户
提问于 2016-03-31 16:23:02
回答 1查看 1K关注 0票数 1

下面是一个简单的程序

代码语言:javascript
复制
PROGRAM MAIN
implicit none
integer, PARAMETER :: N=10
real*8 :: A(N)
real*8 :: x=0.1D0
integer :: i=1
Do i=1,N
A(i)=i
end do
call dscal(N,x, A, 1)

x=dasum(N,A,1)

END PROGRAM MAIN

我用命令编译

代码语言:javascript
复制
gfortran   test.f90  -o test -O1  -I /usr/include/ -L /usr/lib  -lblas

虽然调用子例程dscal没有问题,但函数dasum的错误如下

test.f90:15.2: x=dasum(N,A,1) 1错误:函数'dasum‘at (1)没有隐式类型

我应该包括一个特定的文件来定义BLAS函数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-31 16:41:24

对于函数,需要手动指定返回值(如果感觉很时髦,可以选择为external):

代码语言:javascript
复制
real*8,external :: dasum

另外,请不要使用real*8。它不符合标准,不便于携带,也不容易混淆。相反,使用kind参数来定义精度,例如:

代码语言:javascript
复制
real(kind=kind(1.d0))

或者类似的。如果可以使用ISO_Fortran_env module,请使用其常量REAL32REAL64

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36338770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档