LINUX.ORG.RU

Есть ли такой флаг в gcc...


0

0

Есть ли флаг в gcc, чтоб он не ругался на такой код:

void A( void ) { B(); }

void B( void ) { ... }

A и B объявлены только в том файле, никаких void B( void ); нет, т.е. надо чтоб gcc "смотрел" весь текущий файл перед тем как ругаться, что B не найдена, просто есть большая пачка файлов( не моих ), которые я пытаюсь собрать gcc, микрософтский компилятор их "ест" без проблем, а gcc ругается

★★★★

функция А определена до функции В? Если да, то мб просто функцию В перенести выше по коду относительно функции А?

А вообще, имхо это хороший тон - писать прототипы всех функций в хэдере или хотя бы в начале самого файла-исходника

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

это не мой код - я всего лишь ищу способ собрать проект без перелопачивания и исправления кучи файлов

lester ★★★★
() автор топика

С голым С работал очень мало. IIRC, любой неизвестный вызов gcc сконвертит в вызов функции.

тоесть

//#define A(x) ((x)+1)

int foo()
{
return A(5);
}

скомпилится, но линкер будет ругаться, что функция A не найдена.

stpg
()

-fpermissive

убрать -ansi -pedantic

?

Sylvia ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.