给利智擦油那部叫什么:为什么我加载不了dll中的函数?

来源:百度文库 编辑:中科新闻网 时间:2024/05/11 02:30:09
我自己用fortran做的av5.dll文件,在fortran下使用都没问题
但是在vc下怎么都加载不了
根据http://dev.yesky.com/295/2096795.shtml这篇文章讲的
方法试过很多次都不行
用vc带的工具dependency可以看到av5.dll中的函数如下:
AV18OP
_AV18OP@8
AV18PW
_AV18PW@32
CONSTS
_CONSTS@32
EMPOT
_EMPOT@8

我加载函数代码如下:
HINSTANCE hdll=::LoadLibrary ("av5.dll");

typedef BOOL (_stdcall *Lpconsts)(double, double, double, double,double,double,double,double);
Lpconsts consts6;
consts6=(Lpconsts)::GetProcAddress(hdll,"consts");

将你得到的地址转化一下吧!要转化为与返回函数相应类型的函数指针,注意返回类型,参数个数和类型。