Re: g++ из stable
On Wed, 4 Jun 2003 spied@yandex.ru wrote:
> Здравствуйте.
>
> у меня стоят gcc и g++ версии 2.95.4-14
>
> почему-то в g++ не обрабатываются макросы с переменным числом
> параметров
>
> вот пример кода:
> #define a(aaa,...) printf(aaa, __VA_ARGS__)
>
> int main(void) {
> return a("\n%d\n",4);
> }
>
> этот код нормально комплируется gcc и третьей версией g++, однако g++
> 2.95 выдает ошибку:
> a.c:1: badly punctuated parameter list in `#define'
>
> переход на новую версию g++ нежелателен (так как связан с
> перекомпиляцией динамических библиотек).
>
> можно ли заставить g++ этой версии нормально отрабатывать iso-версию
> макросов с переменным числом параметров? насчет gcc-версии я в курсе,
> но не хочется переделывать программу и терять в портабельности.
>
>
Как вариант, - вызывать препроцессор из новой версии (3.0), а уж
потом компилятор из старой (2.95).
А что, динамичиские библиотеки сделанные 2.95 для 3.0 не годятся?
Мне казалось, что бинарная совместимость должна выполнятся.
Успехов.
Юра.
Reply to: