Aardio用法:
import console;
var dll=..raw.loadDll("C:\Users\Administrator\Desktop\bin.dll")
var Test5 = dll.api("Test5","int(ptr)","cdecl")
var t= ..raw.buffer(100) //数据:变量
var p= ..raw.toPointer(t) //指针:变量地址(一级指针)
var tt = ..raw.buffer({ptr p=p}) // 数据:保存一级指针的变量
var pp = ..raw.toPointer(tt) // 指针:保存一级指针的变量的地址(二级指针)
var ttt = ..raw.buffer({ptr p=pp}) // 数据:保存二级指针的变量
var ppp = ..raw.toPointer(ttt) // 指针:保存二级指针的变量的地址(三级指针)
Test5(ppp) // 调用函数操作三级指针
console.varDump(p,pp,ppp,t); //输出
console.pause(true);

C用法:

这篇博客详细介绍了如何在Aardio中加载和使用动态链接库(DLL),并展示了通过多级指针调用C语言函数的过程。作者通过实例代码解释了缓冲区、指针转换以及函数调用的步骤,同时提供了C语言的对应实现,帮助读者理解不同级别的指针操作和跨语言交互。

被折叠的 条评论
为什么被折叠?



