我正在观察一些我发现很难推理的行为。动态链接错误
我有一段代码如下:
int timer_temp_var;
if ((timer_temp_var/1000.0) > 5.0)
{
//Do something
}
这片导致链接错误。
>
> dld: warning: Undefined symbol _d_fle"
> dld: no output written make[1]: ***
> [app.elf] Error 1
但在更换平等检查为:
if ((timer_temp_var/1000.0) < 5.0) // replace '>' with '<'.
我看不出有什么问题。
此外,而不是由1000.0做除法,如果我用1000做如下:
if ((timer_temp_var/1000) > 5)
{
//Do something
}
我看不出问题,无论那种平等检查的。
该应用程序被编译为在pSOS操作系统上运行。
这种行为的原因是什么?
你有没有尝试转储生成的汇编代码,看看是否奇怪是开发? – dsm 2009-01-20 15:14:12