Re: Определение функции внутри другой функции

Alex Naumov alexander_naumov at opensuse.org
Tue Dec 2 06:04:01 EST 2014


Я работаю с gcc 4.8.1 на x86_64. Мне, в принципе, больше ничего и не надо,
т.е. код пишу для себя.

Дело даже не в том, на сколько это полезно и в каких случаях. Мне просто
интересно какие могут быть проблемы в данном случае. Стоит ли быть тревогу,
если встречается такой код?
Вот Андрей написал о проблеме переноса кода на другие архитектуры. Это да.
Код всегда нужно тестировать при переносе. Но может быть есть проблемы,
которые можно встретить в данном случае с 100% вероятностью?

2014-12-02 11:31 GMT+01:00 Denis Kirjanov <kirjanov at gmail.com>:

> А какие компиляторы ты пробовал?
>
> Я просто не понимаю зачем это может быть полезно. Я не видел кода на C
> который использует nested functions.
>
> On 12/2/14, Alex Naumov <alexander_naumov at opensuse.org> wrote:
> > Мне не совсем понятно значение "do not support" в данном контексте. Это
> > работет.
> > Поведение программы не определено, т.е. никогда нельзя знать наверняка
> как
> > поведет себя программа в данном случае?
> >
> >
> > 2014-12-02 11:10 GMT+01:00 Denis Kirjanov <kirjanov at gmail.com>:
> >
> >> Standard C and C++ do not support nested functions, but:
> >> GCC supports nested functions in C, as a language extension.[5]
> >>
> >> On 12/2/14, Alex Naumov <alexander_naumov at opensuse.org> wrote:
> >> > Всем привет.
> >> >
> >> > У К&R в 4.3 главе написано:
> >> > "Сами по себе функции - всегда внешние, поскольку в C нельзя
> определить
> >> > функцию внутри другой функции."
> >> >
> >> > Тем не менее, определить функцию f() внутри тела функции main() и
> >> > вызвать
> >> > её можно без проблем. Более того, в главе 4.2 у K&R присутствует такой
> >> > пример. Кто что думает по поводу объявления функций внутри других
> >> функций?
> >> > Какие подводные камни ожидают программиста в этом случае?
> >> >
> >> >
> >> > Alex
> >> >
> >>
> >>
> >> --
> >> Regards,
> >> Denis
> >>
> >
>
>
> --
> Regards,
> Denis
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernel-russian/attachments/20141202/5490bfc0/attachment.html 


More information about the Kernel-russian mailing list