RE: [Reflex] Thread safety

From: Jean-Francois Bastien <jfbastien_at_cae.com>
Date: Wed, 23 Jan 2008 12:02:57 -0500


> I would really appreciate your feedback on the new version; I
> will let you know when it's ready.

One thing that we've found lacking up to now is binary compatibility in the design of the API. Qt has a lot of documentation on how an API can be made safe in this regard.

For example, the size of any types from the STL isn't guaranteed, Reflex DLL users must therefore ensure that they compile their project with the same settings as those that Reflex was built with (and with the same compiler). Under Visual Studio you can't swap libReflex.dll between the debug and release version without recompiling your dependent projects. Also, correcting your implementation and releasing a new libReflex.dll implies that all your users must recompile, you can't just swap the new DLL in reliably (in certain circunstances you can, but your API isn't very open to this).

If you want I can go into more details. I've also written a tool to validate certain aspects of binary compatibility (I'd like to open source it, but that's another issue).

All that to say, binary compatibility is an issue I'll make sure to point out in your API.

JF Received on Wed Jan 23 2008 - 18:04:15 CET

This archive was generated by hypermail 2.2.0 : Wed Jan 23 2008 - 23:50:01 CET