我们有一个使用Visual C ++ 2005构build的应用程序,有一个客户报告说他得到了这个运行时错误:
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: [path to our application]
R6002
- floating point support not loaded
根据微软( 在这个页面上 ),可能的原因是:
而且,在使用我们的应用程序时(特别是在他们select要处理的文件之后),而不是在应用程序启动时发生错误。
我意识到这是一个远射,但是有没有人在任何地方见过这样的事情? 谷歌是相当无益的(有很多没有支持的声称,这是一种病毒感染的症状,但除此之外很less)。
任何build议感激地收到:-)
你链接了CRT的静态版本吗? 如果是这样,你需要在调用printf()的二进制文件中有浮点变量。 而这些变量必须真正被使用(即没有被comppiler优化)。
另一种可能性是CRT初始化和使用这些FP例程的代码之间的竞争,但是这很难产生。
printf尝试打印包含百分号的字符串可能导致R6002。 这种printf失败的根本原因很可能是一个处理任意文件并打印其名称的程序。 令人惊讶的是,真的有人把百分号放在文件名中! (是的,我知道这在技术上是合法的。)
printf(“%f \ n”,(float)rand()/ RAND_MAX);
我在用VS2010命令行cl编译的程序中遇到了相同的运行时错误。 报告的错误发生在没有 (浮动)的时候,当我添加它时消失了。