阅读:1645回复:7
在wdm下进行浮点运算,为什么sin, cos, sqrt等运算函数不能使用?
我在ddk的例子里,看到一个用浮点的驱动程序,里边用了log10这个函数,但是自己使用sin. cos等就不行,清各位大侠指导一二,谢谢了
|
|
沙发#
发布于:2004-11-05 13:36
可以使用了吗?
|
|
|
板凳#
发布于:2004-11-05 16:36
还不行,不知你有没有高招?
是不是工程的设置有什么问题。 |
|
地板#
发布于:2004-11-05 18:42
那log10可以吗?
|
|
|
地下室#
发布于:2004-11-06 22:22
用下面的代码试试.
double floatValue,a,b; _KFLOATING_SAVE saveData; status = KeSaveFloatingPointState(&saveData); if (NT_SUCCESS(status)) { a = 4.22; b= 3.33; floatValue = a*b; t.Trace(TraceAlways,"The float value is %18.8f\n",floatValue); floatValue = 14.0526;//=a*b t.Trace(TraceAlways,"The float value is %18.8f\n",floatValue); floatValue = sin(1.57); t.Trace(TraceAlways,"The float value is %18.8f\n",floatValue); floatValue = 0.9999996829318346202;//=sin(1.57); t.Trace(TraceAlways,"The float value is %18.8f\n",floatValue); KeRestoreFloatingPointState(&saveData); } |
|
5楼#
发布于:2004-11-08 07:42
log10和Mark Fong的代码都不可以 5555555555
是不是什么库没有加上 可是我已经加了math.h和MSVCRT.lib |
|
6楼#
发布于:2004-11-08 16:00
log10和Mark Fong的代码都不可以 5555555555 MSVCRT.lib应该不可以吧 |
|
|
7楼#
发布于:2004-11-09 08:07
谢谢,搞定了, 把MSVCRT.lib去掉,加上libcntpr.lib就可以了
|
|