搜索
aardio官方社区 门户 查看主题

关于DLL函数参数声明

发布者: look | 发布时间: 2012-6-13 16:34| 查看数: 4456| 评论数: 4|帖子模式

...

#ifndef   PIPTR

#if   (defined(_WINDOWS)   ||   defined(DOS))   &&   !defined(WIN32)

#define   PIPTR   _far

#else

#define   PIPTR

#endif

#endif


#if   defined(_WINDOWS)   ||   defined(WIN32)

#include   <windows.h>

#define   PIINT32   int32   WINAPI

#define   PIVOID     void   WINAPI

#define   PIWIN       WINAPI

#define   PIBOOL     pibool   WINAPI

#elif   defined   (   __alpha   )

#define   PIINT32   int

#define   PIVOID   void

#define   PIWIN   

#define   PIBOOL   pibool

#else

#define   PIINT32   int32

#define   PIVOID     void

#define   PIWIN

#define   PIBOOL   pibool

#endif

...

PIINT32   piut_connect(   const   char   PIPTR   *procname   );

PIINT32   piut_disconnect(   void   );

PIINT32   piut_login(   const   char   PIPTR   *,   const   char   PIPTR   *,   int32   PIPTR   *   );

PIINT32   pipt_findpoint(   char   PIPTR   *tagname,   int32   PIPTR   *pt   );

...

上面是c++源代码的一部分,用于调用piapi32.dll
函数原型: int32 piut_login (char PIPTR * username, char PIPTR * passwrd, int32 PIPTR * valid);




我这样声明,老是崩溃,piut_login 第三个参数如何声明??
var piapi32 = raw.loadDll("piapi32.dll");
var piut_login=piapi32.api("piut_login","INT(string username,string passwrd,int valid)" )





最新评论

quicker 发表于 2012-6-13 19:20:01

最后一个参数是指针,在aardio里应当声明为引用类型,一般你看到C++的类型后面加了星号,那么你在aardio里就在类型后面加上&符号声明为引用类型,如下:

最后一个参数是指针,在aardio里应当声明为引用类型,一般你看到C++的类型后面加了星号,那么你在aardio里就在类型后面加上&符号声明为引用类型,如下:

var piut_login=piapi32.api("piut_login","INT(string username,string passwrd,int &valid)" )

然后,piut_login() 的返回值有两个,一个是函数本身的返回值,另外一个就是引用参数valid
look 发表于 2012-6-13 20:51:16

[quote][color=#999999]quicker 发表于 2012-6-13 19:20[/color] [color=#999999]最后一个参数是

quicker 发表于 2012-6-13 19:20 最后一个参数是指针,在aardio里应当声明为引用类型,一般你看到C++的类型后面加了星号,那么你在aardio里就在 ...

多谢指点!
wjmcu 发表于 2014-4-29 07:16:53

赞一个

赞一个  
popdes 发表于 2016-11-20 23:12:36
受教

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2017-9-22 07:04 , Processed in 0.171875 second(s), 21 queries , Wincache On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表