Как заставить gcc предупреждать о неизвестных функциях?

Рассмотрим этот код:

int function()
{
  int a = 1 ;
  int b = helper(&a);
  return b ;
}

int main()
{
  function();
  return 0 ;
}

Этот фрагмент кода без проблем компилируется в объектный код с помощью gcc, несмотря на то, что функция под названием «помощник» не объявлена. Я знаю, что компоновщик должен поймать это, но я видел неясные ошибки , которые устранялись после включения правильных заголовков (, содержащих объявления функций ), несмотря на то, что компоновщик и компилятор не выдавали никаких ошибок.

Есть ряд предупреждений gcc, которые кажутся связанными, но на самом деле не достигают того, что я хочу:-Wmissing -прототипы, -Wmissing -декларации и -Wstrict -прототипы. К сожалению, эти предупреждения ограничены отсутствующими прототипами, когда глобальные функции определены , меня интересуют предупреждения об отсутствующих прототипах, когда ссылаются на глобальные функции .

Может ли кто-нибудь предложить альтернативы?, спасибо.

5
задан Community 23 May 2017 в 12:14
поделиться