cでスタックの16進ダンプを取得するコードを書いています。ubuntuでgccを使用してコンパイルすると、この次の行でコンパイルエラーが発生し続けますが、Windowsのgccでは正常にコンパイルされます。
char buffer[10];
for (int i=0;i<20;i++)
printf("0x%lx => 0x%lx\n", &(buffer[i]), ((long *)buffer)[i]);
これは、コンパイラが与えるメッセージです。
警告: フォーマット '%lx' はタイプ 'long unsigned int' を想定していますが、引数 2 のタイプは 'char *' です</p>
私が何か間違ったことをしている場合、誰かが私に教えてもらえますか?