我无法将clock_t打印为双倍或打印时间已过
void app_main()
{
clock_t start, end;
long double cpu_time_used;
start = clock();
ESP_LOGI(TAG, "Elapsed time");
ESP_LOGI(TAG, "Starting time: %Lf", (long double)start);
end = clock();
ESP_LOGI(TAG, "Ending time: %ld", end);
cpu_time_used = (( long double) (end - start)) / CLOCKS_PER_SEC;
ESP_LOGI(TAG, "Elapsed time: %Lf ms", cpu_time_used);
}
这是我的日志:
我 (241) 使用 mex 申请:已用时间
我(243)使用墨西哥的申请:开始时间:
我(248)使用mex申请:结束时间:2
我 (255) 使用 mex 的应用程序:经过的时间:毫秒
我(264)使用 mex 申请:经过的时间:s
我真的不明白为什么
尝试打印
double
。我怀疑你的ESP_LOGI()
不支持long double
。
IAC
double
足够的精度和范围。
使用
ESP_LOGI(TAG, "Starting time: %f", (double)start);
或尝试使用 ESP_LOGI(TAG, "Starting time: %a", (double)start);
获取精确值。