R6002 float point support not loaded 是什么故障?

迷途的书童 2010-10-09 09:02:12
自己写了一个分析输入格式的动态库;
CLogFile logFile;
logFile.LOG_WriteLine(LOG_INFO_HIT,"Test= %f,%d", dTest, i);

void CLogFile::LOG_WriteLine(int nErrorLevel,const char* pFormatStr,...)
{
...
//分析输入可变参数.
va_list list;
va_start(list, pFormatStr);
vsprintf(Buf, pFormatStr, list); //一进入这里就报错
va_end(list);
....
}

如果不整动态库,是没有问题的;
// Test_arglist.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>


void test( char * format, ... )
{
va_list args;
int len;
char *buffer;

// retrieve the variable arguments
va_start( args, format );

len = _vscprintf( format, args ) // _vscprintf doesn't count
+ 1; // terminating '\0'

buffer = (char*)malloc( len * sizeof(char) );

vsprintf( buffer, format, args ); // C4996
// Note: vsprintf is deprecated; consider using vsprintf_s instead
puts( buffer );

free( buffer );
}

int _tmain(int argc, _TCHAR* argv[])
{
test( "%d %c %d", 123, '<', 456 );
for (int i = 0; i < 100; i++)
{
test("Test= %0.2f,%012d", 5.333, i);
//logFile.LOG_WriteLine(LOG_INFO_HIT,"Test= Begin");
}
test( "%0.2f ", 5.333);
test( "%s", "This is a string" );
getchar();
return 0;
}
...全文
2943 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
迷途的书童 2010-10-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cnzdgs 的回复:]

你的程序中没有使用任何浮点数据,所以生成程序时没有连接浮点库,但程序运行中却需要浮点运算,所以出错。
你只要在程序中加上一个浮点数据即可,(例如增加一个导出函数,函数定义一个浮点型参数),注意不要加无效代码,以免被优化掉。
[/Quote]



大虾就是大虾,真是石破天惊 一语点破啊@

偶要怎么谢你才好呢?
看不见的裂痕 2010-10-09
  • 打赏
  • 举报
回复
早上看了这帖子就感觉挺束手无策的,楼主尝试下这几为大牛的做法吧。
cnzdgs 2010-10-09
  • 打赏
  • 举报
回复
你的程序中没有使用任何浮点数据,所以生成程序时没有连接浮点库,但程序运行中却需要浮点运算,所以出错。
你只要在程序中加上一个浮点数据即可,(例如增加一个导出函数,函数定义一个浮点型参数),注意不要加无效代码,以免被优化掉。
贪玩的老鼠 2010-10-09
  • 打赏
  • 举报
回复
你的代码是没有问题的,
估计是你的dTest参数有问题,
logFile.LOG_WriteLine(LOG_INFO_HIT,"Test= %f,%d", 1/3.0, 5);
如果这样没有问题,那就说明你的dTest参数有问题(可能是字符)
zgl7903 2010-10-09
  • 打赏
  • 举报
回复
试试 logFile.LOG_WriteLine(LOG_INFO_HIT,"Test= %f,%d", (double)dTest, (int)i);
估计是格式和数据类型不匹配
visualwind 2010-10-09
  • 打赏
  • 举报
回复
vsprintf(Buf, pFormatStr, list);//不是这么用的。
请参考:
http://blog.csdn.net/SZ_RedLin/archive/2007/06/19/1657571.aspx
迷途的书童 2010-10-09
  • 打赏
  • 举报
回复
而且是只有输入浮点数时才报错@

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧