【我不是大水比】如何让Lua可以使用Win32API
lua吧
全部回复
仅看楼主
level 11
同在二要
楼主
最近在试着玩这种东西,一开始也是被运行时的字符串给搞得各种蛋疼。后来看到了云风前辈的代码(_alloca究竟是什么鬼),因为对_alloca的不了解于是就直接抄了。在lua这边测试哔函数是成功了,返回值还是userdata,测试MessageBox更是醉的不行,一确定就报错。想试试其他API突然发现我不知道怎么传C结构指针……顿时觉得我应该看看Ruby那边Win32API的源码了,这个东西果然还是没有经验orz
所以说lua吧的小伙伴们有没有什么比较好的方法呀
——好疼好疼,虽然不会死但是会疼~
2014年12月03日 15点12分
1
level 9
nexcvon
看看 lua alien 库
2014年12月03日 16点12分
2
同在二要
好的
2014年12月04日 09点12分
level 14
qqirisit
MessageBox在内部有A和W两个版本,你用对了吗?alloca是在栈上分配内存,没错,传参数时,参数就在栈上。
2014年12月03日 23点12分
3
同在二要
A/W这个我知道的啦~ MessageBox窗口出来了,就是点击确定或者关掉的话就会直接退出,报错显示好像是不能调用nil……
2014年12月04日 09点12分
同在二要
_alloca好像明白了点,不过周围声明变量什么的时候不会有影响吧?
我看到前辈的代码里还有do{}while(0)……难道是括起作用域的作用吗?
2014年12月04日 09点12分
level 11
贴吧用户_0XZKy2W
好高端,默默路过
2014年12月04日 01点12分
4
1