易截截图软件、单文件、免安装、纯绿色、仅160KB

我有c写头文件和c编译的dll,delphi如何调用

我从网上找了个叫做winGsl的dll,里面有很多科学计算方法。
我想用delphi调用其中的方法,但是不成功。
具体举例:
WINGSLDLL_API double gsl_stats_mean (const double data[], const size_t stride, const size_t n);
我在delphi里这样调用
function gsl_stats_mean(const data:array of double; const stride:DWORD; const n:DWORD):double;stdcall;External 'WinGsl.dll';
不行。加不加stdcall都不行。
请指教应该如何调用啊?
报什么错?External 'WinGsl.dll',不能用中文符号

楼主是要说一下报什么错!
1.有可能是声明函数写的有问题。。。。
2.要用工具,看看那个dll的函数接口声明函数是不是开放了,就是,能被第三方软件调用。



要看WINGSLDLL_API的原型是什么. 然后根据相应的类型作修饰.

按照cdecl调用就能通过了。但是
procedure TForm1.Button2Click(Sender: TObject);
var
  td:array of double;
  s:string;
begin
  setlength(td,5);
  td[0]:=1;
  td[1]:=6.235;
  td[2]:=1;
  td[3]:=2;
  td[4]:=1;
  s:=floattostr(gsl_stats_mean(td,1,5));
  edit2.Text:=s;
end;
所得的返回值怎么是1啊?我又试了试求gsl_stats_max,返回的也是1.我还是什么地方没写对吧?
我对c不大了解,看网上说cdel要调用者自己负责清栈,那么delphi里还应该做哪些额外的工作么?
我是从这个网址下载的dll
http://www6.in.tum.de/~kiss/WinGsl.htm
我下的是1.4.02版本。vc++编译的。


相关问答:

刚学C,用C实现编码 - C/C++ / C语言

#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......

请教下,用DELPHI做SOHU的 - Delphi / 非技术区

一般都是怎么接活的?
收入怎么样
sohu?soho?

sohu 可能是small office house unit
小办公室,把家变成单位。

去威客网啊,很多个呢,还有外包的网站

学习学习。

现在Delphi做东西不行了,处于淘汰状 ......

VFP如何调用C函数 - 其他数据库开发 / VFP

请问VFP中如何调用C/C++函数?

你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。

十豆三 老师,怎么才能修改自己的 ......

C/S项目架构设计----求助 - Java / Java SE

本人正在用Java做一个C/S架构的项目, 
可是由于项目比较大,前期对架构的设计尤其重要,因为后期可能随时会加个功能或者去掉某些功能。 
所以特地寻求如何设计C/S的架构使程序更加面向对象更加易于维 ......

c静态编译另一个文件夹的库函数 - C/C++ / C语言

在根目录/lib中存放一个log.c,log.h,并用下面的语句:
gcc -c log.c
ar crv liblog.a log.o
编译出一个liblog.a静态库,然后在文件夹:/testfile中创建一个test.c和testc.c,test.c中引用了testc.c中定义的方法 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号