
8 Nov
2011
8 Nov
'11
8:51 p.m.
Andrey Semashev wrote:
Surely there may be caveats, as well as in just about every design. But according to my practice one almost always compiles the application against a fixed version of Boost. It is the other cases I would call contrived and bad.
The version of Boost is not the issue. The code that operates on the atomics is. The normal way is for the module that creates the lock-free data structure to provide out of line functions which the other modules would call. Inlining these creates the possibility of the modules to get out of sync with each other. For plugin-type DLL uses, this is basically guaranteed.