gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Apache protable runtime 1.4
c89 and compiling in -m32 mode
代码:
apr_time_t time_msecs = 0;
time_msecs = apr_time_as_msec(apr_time_now());
printf("Time in msecs [ %lu ]\n", time_msecs);
我收到以下警告:
format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘apr_time_t’ [-Wformat]
除了演员。这种类型的正确格式说明符是什么(apr_time_t)?
非常感谢任何建议,
答案 0 :(得分:2)
APR包含一个名为APR_TIME_T_FMT
的宏,可以执行您想要的操作。
在构建格式字符串时,您可以像这样使用它(假设它的作用类似于stdint宏):printf("time: %" APR_TIME_T_FMT, value);
您也可以简单地将值转换为适当的类型。
答案 1 :(得分:2)
答案 2 :(得分:-1)
如果您使用
打开printf手册页man 3 printf
并且读取有关printf格式的内容将找不到apr_time_t类型明确的任何内容。