戻り値を処理せずに自作関数を呼び出そうとしました。gcc は、関数呼び出しの行で、これは効果のないステートメントになると私に言いました。関数が呼び出されるかどうかを確認するために、いくつかの printf ステートメントを追加しましたが、プログラムからの出力は得られませんでした。
gcc が単に関数呼び出しを無視する可能性はありますか? 私の知る限り、そのような発言に問題はありませんでした。
コードは次のとおりです。
unsigned strlen(char *string)
{
printf("ignored by gcc");
unsigned count = 0;
for(; *string++; count++);
return count;
}
int main()
{
char string[] = "something";
strlen(string);
return 0;
}
前もって感謝します。