在RTTHREAD STUDIO中包含了math.h头文件在进行对数(log)运算是编译错误undefined reference to `log’通过查阅资料发现如果直接运算数据,如log(1)不会报错但如果以变量形式log(a)就会报上述错误那么问题到底出在哪里?
查看更多
你开启一下libc 没开启libc可能数学功能没法使用
你把变量a定义为double类型看看,同时不要让a=0
我尝试了一下,没有错误呀。
#include <math.h>int main(void){ LOG_I("application starting..."); ah_beep_ok(); ah_led_blink(0, 500); double a = 123.456; LOG_I("log(%f)=%f", a ,log(a)); return RT_EOK;}
#include <math.h>
int main(void)
{
LOG_I("application starting...");
ah_beep_ok();
ah_led_blink(0, 500);
double a = 123.456;
LOG_I("log(%f)=%f", a ,log(a));
return RT_EOK;
}
结果显示:[1045] I/ah_main main: log(123.456000)=4.815885
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
谢谢您的回答,果然没有开启libc时math.h只有sin和cos函数,开启后头文件里有log函数了