aardio 调用 vs 编写的dll (stdcall方式) (dll又调用另一个dll)

需要复用 aardio 调用 vs 编写的dll (cdecl方式和stdcall方式)_qq_31683775的博客-CSDN博客 文章 stdcall方式 生成的.lib和.dll 文件 ,以及工程中的.h文件

 

 新建 vs 工程 

 删除自动生成的示例发放,添加fadd方法的声明和实现

 

 复制 .lib和.dll 文件 .h文件 到工程目录

 将 vs 工程 默认的cdecl方式改为stdcall方式 

右键工程 -> 属性 -> 

右键工程 -> 新建项  编辑新建的文件

LIBRARY "INCLUDEDLLTEST"
EXPORTS
fadd

其中第一行指定最终生成的dll的文件名,不带.dll后缀

第二行为关键词

第三行及以下指定导出的方法名

生成dll

新建aardio 控制台工程

将本次生成的dll文件和本次dll 依赖的dll文件都复制到 aardio工程的dll文件夹

 调用dll

import console;
console.setTitle("aardio工程2");

/*
启动参数键值对前导字符可以为 / 或 - ,前导字符可重复多次。
键值对可以空格分开,也可用等号分开,例如: "/opt test" "-opt test" "--opt test" 或 "/opt=test"
*/
if(_ARGV.opt == "test"){
	console.dump(_ARGV.opt,_ARGV[#_ARGV]) //_ARGV 既包含命名参数组成的键值对,也包含按参数顺序组成的数组
}

var str = console.getText("请输入一行文本,然后回车:");
console.log("您输入的是" ,str );
 

var dll=raw.loadDll("\dll\INCLUDEDLLTEST.dll",,"stdcall")


var int1 = dll.fadd();
 
console.log(int1);
 
console.pause();

运行

打包生成aardio工程

复制

dll文件夹到.exe同级目录

运行exe

 

dll与dll相互调用的时候,注意不能混合调用,也就是

cdecl方式的dll不能调用stdcall方式的dll

stdcall​​​​​​​方式的dll不能调用cdecl方式的dll

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值