1
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) の正しい書式指定子は何ですか?

ご提案いただきありがとうございます。

4

2 に答える 2

3

APRには、APR_TIME_T_FMTあなたが望むことをするかもしれないと呼ばれるマクロが含まれています。

フォーマット文字列を作成するときは、次のように使用します (stdint マクロのように機能すると仮定します):printf("time: %" APR_TIME_T_FMT, value);
値を適切な型に単純にキャストすることもできます。

于 2011-11-01T07:37:13.070 に答える
2

試す:

printf("The current time: %" APR_TIME_T_FMT "[us]\n", apr_time_now());

チュートリアル

于 2011-11-01T07:37:14.060 に答える