|
Boost Users : |
Subject: [Boost-users] [system] static linking + static member in y a dynamic design
From: Amoriello Hutti (amoriello.hutti_at_[hidden])
Date: 2011-04-17 17:17:40
Hi everyone,
I am facing a "design" issue while sharing error_codes across modules
boundaries.
Has I understand the design, error_categories like
"generic_error_category" are static (maybe to provide unique way to
represent error_category, avoiding error_category ID confilct, and
allowing users to extend with there own categories).
The question is :
How can we share error_code across modules (A and B), when these
modules are both statically linked with there own boost::system
library (same version)?
Under Windows operating system, both static version of boost::system
library co-exist in the same process address space (that contains
module A and module B), they do not share code or static data members.
Comparison between error_code is made by looking error_value and
error_category, but error_categroy doesn't has the same "static"
address, causing comparison to fail, even when the semantic is
respected (because of the co-existing static error_category with
different address).
sharing the boost::system has a unique shared library used by both
module A and B could solve this issue, but this solution is not
suitable for certain needs.
Thanks for your help!
-- Amoriello Hutti
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net