设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4448|回复: 13
打印 上一主题 下一主题

[已经过期] Win32API.new的参数类型为浮点数或长整数时用什么符号表示?

[复制链接]

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
跳转到指定楼层
1
发表于 2014-6-29 12:57:05 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
百度上搜索到 参数3 字符串数组 表示每个参数的类型 L代表Long P代表Point I代表Int V代表Void (在实际使用的时候HResult和各种Handle都是Long,字符串是P)

但却没浮点数或长整数时用什么符号表示
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
2
 楼主| 发表于 2014-6-29 13:18:08 | 显示全部楼层
克莉丝 发表于 2014-6-29 13:08
又需要用这两种数据类型的api么

有,比如ULONGLONG WINAPI GetTickCount64(void);,不过我现在需要调用的API返回的是double

点评

知世拍摄小樱的执念铸就了一款游戏,可惜模拟器无法玩这游戏  发表于 2014-6-29 13:58
哇,头像里面有SAKURA酱。好萌好萌  发表于 2014-6-29 13:26
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
3
 楼主| 发表于 2014-6-29 13:32:58 | 显示全部楼层
fux2 发表于 2014-6-29 13:25
浮点数是指针,p

对于double和longlong的返回值是存储在eax和edx寄存器,也就是说返回值不是指针而是在寄存器里。用"p"将导致内存访问违规。
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
4
 楼主| 发表于 2014-6-29 15:21:17 | 显示全部楼层
fux2 发表于 2014-6-29 14:43
那pack一下就好,依旧以指针传过去。

@fux2
你看一下汇编

push edx
push eax
call test
-----
//test(double){}
retn 8

上面就是一个什么都不做的浮点参数的函数调用。

如果用"p"
那么就会变成
push eax
call test
这样在返回时retn 8和参数的参数大小4不匹配,会导致堆栈损坏。
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
5
 楼主| 发表于 2014-6-29 16:14:55 | 显示全部楼层
fux2 发表于 2014-6-29 15:53
所以我叫你pack一下啊。dll里取址就行。
你硬要直接传过去默认是不支持的。  ...

比起纸上谈兵不如给个范例代码吧
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
480
在线时间
177 小时
注册时间
2006-10-3
帖子
618
6
 楼主| 发表于 2014-6-29 16:29:35 | 显示全部楼层
fux2 发表于 2014-6-29 16:24
pdouble传给dll,dll里用浮点数指针来玩就可以。

不过这样是建立在那个API是传递指针,如果必须调用 如 ULONGLONG WINAPI GetTickCount64(void); 这个API,用pack也没用吧。 还是说RUBY本身就是不支持 GetTickCount64 这个API的调用吗?
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-12 06:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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