Le primidi 1er nivôse, an CCXXV, wm4 a écrit :

[about windows COM system]

> To make it short, everything in COM consists of structs with function
> pointers. Structs are never extended, if you need new function
> pointers, you just add new structs, which you can dynamically query
> from the old ones. This gives you 100% ABI downwards and upwards
> compatibility. You also don't have to worry about linking to functions
> not present in older Windows or whatever versions, because structs with
> function pointers are a compile-time thing. You will merely get a
> runtime failure when trying to query support for an unsupported struct.
> (I tried to avoid COM terms, but COM calls these structs "interfaces".)
> 
> It's a pretty fascinating contrast to the fuckhackery we do with
> extending structs while trying to keep ABI compatibility, version
> and configure checks in API user code when trying to stay compatible
> with multiple libavcodec versions, etc.

It is probably a large part of the reason windows is slow on tomorrow's
computers while Linux and BSD are fast on yesterday's.

Regards,

-- 
  Nicolas George

Attachment: signature.asc
Description: Digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to