几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】floating point exception (http://www.dimcax.com/hust/showthread.php?t=16327)

yang686526 2009-05-05 11:00 AM

【转帖】floating point exception
 
floating point exception
floating point exception
dear someone.
i am using vc++8 with dwgdirect-version 2.1.0(dd_vc8)
i am experiencing the floating error under a specific situation.
i confirmed the occurrence of the error by changing the sample source as follows.
1. add code to "dd_nonlibs\examples\odreadex\exprotocolextension. cpp"
// start 1
int getmtextfrag(oddbmtextfragment* pmtextfrag, void* pparam)
{
return 1;
}
// end 1
// start 2
_control87(0, _em_zerodivide);
_control87(0, _em_invalid);
_control87(0, _em_overflow);
_control87(0, _em_underflow);
// end 2
// start 3
pmtext->explodefragments(getmtextfrag, null);
// end 3
2. build "odreadex" and run with argument "sample.dwg"
i guess that the error is occurred in processing "mtext".
in end user's environment, the printer driver (made by third party) might changed the floating point mode.
to reproduce the situation, i put the code "_control87".
accordingly, i cannot remove the code "_control87".
is this a bug in the library?
please teach me the method of evading making an error.
sincerely.
attached files
we have reproduced this situation. it is realy bug in dwgdirect.
the fix will be available in 2.2 release in a few days.
best regards,
sergey z.
dear sergey
thank you for the answer.
i am looking forward to the release of dwgdirect-version 2.2.
best regards,
hidekiyo


所有的时间均为北京时间。 现在的时间是 01:11 PM.