Re: GTK signals question.



Le 05/03/2014 19:43, Chris Moller a écrit :
[...]

gcc supports nested functions as an extension to standard C.  I tend to
use them a lot because they operate within the stack frame of the
enclosing function, thereby minimising the amount of information you
have to pass.  This is especially valuable in GTK callbacks where you
can only pass one pointer/int.

Well, yes, but beware: the parent function's stack is not valid if the
parent function exited.  So for asynchronous callbacks, you can only use
it in the function managing the loop (e.g. main).  Otherwise they will
be called after the parent function exited, and so any access you do on
its stack will only lead to a crash in the best case.

In short, they are nested functions, but *not* closures.

Regards,
Colomban


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]