On 02/07/2011 05:20 PM, Jan Kiszka wrote:
On 2011-02-07 16:13, Avi Kivity wrote:
>>
>>  PeriodicTimer *periodic_timer_new(PeriodicTimerFunc *cb, void *opaque);
>>
>
>  void periodic_timer_init(PeriodicTimer *timer, PeriodicTimerFunc *cb);
>
>  It is better to embed than to reference.

And embedding means making the layout (at least the size) of
PeriodicTimer public. I guess that's why QEMUTimer works via new.

Why do we care?  We don't have an stable module interface.

(the way to provide a size-stable interface is

    struct PeriodicTimer {
        struct PeriodicTimerImpl *impl
    };

though of course it negates some of the advantages of embedding).

--
error compiling committee.c: too many arguments to function


Reply via email to