C言語なら俺に聞け! Part 80
■ このスレッドは過去ログ倉庫に格納されています
0199デフォルトの名無しさん
NGNGIA32e(IA64)環境でlongが64bit
という前提の下
uint64_t a=0; #として
printf("%llu\n", a);
とするとIA32では、コンパイル時にwarningが出ないけど、
IA64ではwarning出ます。
#longが64bitなので
#まぁwarningだから無視してもいいけど。。。
#if (BITS_PER_LONG == 32)
printf("%llu\n", a);
#else
printf("%lu\n", a);
#endif
とすると、コンパイル時にはどちらの環境でもwarningが
でません。
で、↑のプリコンパイラ文を使う方法以外の解決案(マクロ)
あったら教えてください。
■ このスレッドは過去ログ倉庫に格納されています