2 naturalleo naturalleo 于 2014.05.28 11:05 提问

关于 unix valgrind 报Conditional jump or move depends on uninitialised value(s)

我的代码是:

float dx = GetPositionX() - obj->GetPositionX();
float dy = GetPositionY() - obj->GetPositionY();
float dz = GetPositionZ() - obj->GetPositionZ();
float dist = sqrt((dx * dx) + (dy * dy) + (dz * dz));
return (dist > 0.0f ? dist : 0.0f);

它报 return 这行 Conditional jump or move depends on uninitialised value(s),实在想不出来,怎么修改

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
valgrind提示的错误:Conditional jump or move depends on uninitialised value(s)
用valgrind对代码进行内存检测的时候,如果提示“Conditional jump or move depends on uninitialised value(s)”,有可能是某些变量未初始化造成的。例如我遇到的两处这样的提示,一处是由于 struct tm 结构体未初始化,另一处是由于 char tmp[512]未初始化造成的。要初始化,只需memset即可,这样做之后,valgrin
HTTP(socket)下载遇到valgrind提示的错误: Conditional jump or move depends on uninitialised value(s)
我写了个http下载函数,下载txt、jpg都正常,就是下载php有问题:valgrind会报错Conditional jump or move depends on uninitialised value(s),   函数定义: char* httpdown(char *domain, int port, char *uri, int *length) ;   调用: st
Conditional jump or move depends on uninitialised value(s)-1
问题是这样的: |Conditional jump or move depends on uninitialised value(s) | at 0x4A0A23B: strstr (mc_replace_strmem.c:1367) | by 0x40123F: String::find(String const&, int) const (String.cpp:84
用valgrind 检测内存错误
用valgrind 检测内存错误 ---------------------------------------- 前言: ---------------------------------------- 介绍了valgrind 是什么,工作原理。 内存错误是什么, 给出了一个综合内存错误实例。看一看valgrind 如何汇报错误.   ---------------
valgrind介绍、使用、报错分析及原理使用
from   http://hi.baidu.com/xpy98/item/bb0d5453cfb0fe16abf6d71b 一、valgrind介绍 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CP
linux 内核中strstr函数 功能
在内核代码中看到strstr函数: mode = strstr(boot_command_line, "D:"); 应该是一个字符串处理函数,使用man命令查看下给出如下解释: SYNOPSIS #include char *strstr(const char *haystack, const char *needle); #define
valgrind 常见错误提示信息
valgrind --tool=memcheck --leak-check=full  --show-reachable=yes -v ./docParser sample.doc Memcheck 工具主要检查下面的程序错误: 使用未初始化的内存 (Use of uninitialised memory)使用已经释放了的内存 (Reading/writing memory aft
valgrind--memcheck工具命令选项
--leak-check=:如果设为yes或full,在被调程序结束后,valgrind会详细叙述每一个内存泄露情况,默认是summary,只报道发生了几次内存泄露。 --show-possibly-lost=:默认是yes。若设为no,则内存泄露检查将不显示那些“possibly lost”块。 --leak-resolution=:这个选项设定内存检查工具在检测出多个内存泄露时,如何将这些
valgrind错误:Syscall param write(buf) points to uninitialised bytes(s)
最近使用valgrind检查代码时,发现了一个比较鬼诡的bug:Syscall param write(buf) points to uninitialised bytes(s) 。在百度上找了很长时间的解决方法,但没有找到。最后用google搞清楚了原因,并解决了这个问题。         这是我主要参考的英文网站:http://comments.gmane.org/gmane.comp.de
valgrind -- 安装 -- 缺少 libc6-dbg
valgrind -- 安装 -- 缺少 libc6-dbg   一、下载 http://valgrind.org/downloads/current.html 二、解压 tar -xf valgrind-3.7.0.tar.bz2 三、安装 ./configure make make install 四、使用