jzhou
驱动牛犊
驱动牛犊
  • 注册日期2002-11-22
  • 最后登录2005-03-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1378回复:2

!!浮点转整型紧急求救!!

楼主#
更多 发布于:2003-06-27 11:47
我在驱动程序中利用KeSaveFloatingPointState和
KeRestoreFloatingPointState可以进行浮点运算,但是当将一个浮点转整数的时候出现问题,开始是链接提示找不到_ftol错误,定义了ULONG _ftol=1后编译链接通过,但是执行时出错,不知如何解决?
jzhou
驱动牛犊
驱动牛犊
  • 注册日期2002-11-22
  • 最后登录2005-03-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-27 16:34
是链接libcntpr.lib,成功了
thx
lms2000
驱动牛犊
驱动牛犊
  • 注册日期2001-05-19
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望102点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-06-27 12:47
_ftol 是compiler在遇到如
float f;
int x = (int)f;
时调用的函数,
如过不link lib的话,自己写一个就可以了
asm or inline asm in C source code 都可以
__ftol          proc near
var_C           = qword ptr -0Ch
var_4           = word ptr -4
var_2           = word ptr -2

                push    ebp
                mov     ebp, esp
                add     esp, 0FFFFFFF4h
                fstcw   [ebp+var_2]
                wait
                mov     ax, [ebp+var_2]
                or      ah, 0Ch
                mov     [ebp+var_4], ax
                fldcw   [ebp+var_4]
                fistp   [ebp+var_C]
                fldcw   [ebp+var_2]
                mov     eax, dword ptr [ebp+var_C]
                mov     edx, dword ptr [ebp+var_C+4]
                leave
                retn
__ftol          endp
游客

返回顶部