[swift-dev] swift (ABI) and Windows
rjmccall at apple.com
Wed Apr 6 13:32:52 CDT 2016
> On Apr 6, 2016, at 11:18 AM, Jordan Rose via swift-dev <swift-dev at swift.org> wrote:
> Hey, Saleem. How do you expect this to differ from normal symbol visibility? It seems to me that in a shared library, any public symbol is either exported or imported, depending on whether it has a definition, and any non-public symbol is default. (Unlike C, we expect to have sensible rules here.) I guess there's the difference between "a public symbol from elsewhere in this library" and "a public symbol from some other library". Is that it?
In concept, it's more-or-less the same as symbol visibility. My understanding is that the PE/COFF model is simply a little less forgiving about getting it wrong.
As you say, this is something we want to be getting right anyway because it allows IRGen to use more efficient code patterns.
More information about the swift-dev