我正在觀察一些我發現很難推理的行爲。動態鏈接錯誤
我有一段代碼如下:
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