
2 Sep
2011
2 Sep
'11
10:44 a.m.
On 01/09/2011 18:46, Andrey Semashev wrote:
On 09/01/2011 12:30 PM, Mathias Gaunard wrote:
On 01/09/2011 05:26, Andrey Semashev wrote:
In addition, on most platforms there will be multiple instances of type_id<T>::value for a single given T if the application uses type_id<T> in multiple modules.
That's not a problem, type_id<T>::value is a weak symbol.
It doesn't matter. I wasn't speaking of different translation units, but different modules (i.e. dll, so, dylib). Unless you do explicit exporting/importing of this symbol, you'll have separate instances.
Shared objects do not work by exporting/importing, but with visibility. The default visibility will make it work correctly. On windows though, there is no good solution to this.