size_tCで型の変数を出力したいのですが、size_tアーキテクチャーごとに異なる変数型にエイリアスされているようです。たとえば、あるマシン(64ビット)では、次のコードは警告をスローしません。
size_t size = 1;
printf("the size is %ld", size);
しかし、他のマシン(32ビット)では、上記のコードは次の警告メッセージを生成します。
警告:フォーマット '%ld'はタイプ 'long int *'を予期していますが、引数3のタイプは 'size_t *'です。
これはポインタサイズの違いによるものと思われるため、64ビットマシンでsize_tはlong int("%ld")にエイリアスされますが、32ビットマシンでsize_tは別のタイプにエイリアスされます。
専用のフォーマット指定子はありsize_tますか?
&どこかを削除しましたか?