【发布时间】:2020-09-30 13:32:34
【问题描述】:
我使用的是低内存 MCU,需要连接一个 char* 和一个浮点数。我试过使用 sprintf 但我认为它太笨重了,我一直在崩溃。
具体来说,我正在使用 Tiva TM4C MCU 并尝试使用图形库将传感器数据绘制到屏幕上。我试过了:
char buf[100];
float i = 2.232;
sprintf(buf, "%f", i);//
GrContextFontSet(&sContext, &g_sFontCm14);
GrStringDraw(&sContext, buf, -1, 10, 30, 0);
用最少的内存将这些结合起来的最佳方法是什么
【问题讨论】:
-
为什么需要将结果存储到 char* 中?直接输出会不会消耗更少的内存?
-
对不起,我正在添加新信息,正如你评论的那样。我正在尝试将 Tivaware 图形库用于 TM4C MCU。
-
并且崩溃应该是由使用的“内存过多”产生的?
-
@Berto99 这是 TI 论坛上的建议,用户表示 sprintf 内存非常重。
-
@GrantDare
need to concatenate a char* and a float您发布的代码中没有串联。I keep getting a crash如果注释掉sprintf行,并将其上面的行替换为char buf[100] = "2.232;",是否还会发生崩溃?
标签: c string memory texas-instruments