Re: g++ из stable
spied@yandex.ru writes:
> Здравствуйте.
>
> у меня стоят 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'
>
#define a(aaa, args...) printf(aaa, ## args)
> переход на новую версию g++ нежелателен (так как связан с
> перекомпиляцией динамических библиотек).
>
> можно ли заставить g++ этой версии нормально отрабатывать iso-версию
> макросов с переменным числом параметров? насчет gcc-версии я в курсе,
> но не хочется переделывать программу и терять в портабельности.
А о какой портабельности речь? Я так понимаю, это все GNU extensions.
Советую сюда еще посмотреть, если хотите, чтоб это действительно было
портабельно:
http://www.eskimo.com/~scs/C-faq/q10.26.html
--
Mikolaj Golub
Reply to:
- Prev by Date:
Re: M/B EPOX EP-8RDA, nForce2 SPP, +Sound, 3DDR DIMM PC3200, U133, ATX
- Next by Date:
Re: M/B EPOX EP-8RDA, nForce2 SPP, +Sound, 3DDR DIMM PC3200, U133, ATX
- Previous by thread:
g++ из stable
- Next by thread:
Re[2]: g++ из stable
- Index(es):