Re: Why PGDLLIMPORT is needed

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
Cc: 高健 <luckyjackgao(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Why PGDLLIMPORT is needed
Date: 2012-11-07 20:02:05
Message-ID: 20121107200205.GB26215@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Oct 29, 2012 at 04:41:05PM +0800, Craig Ringer wrote:
> On 10/29/2012 02:05 PM, 高健 wrote:
> > On /src/include/storage/proc.h:
> >
> > I saw the following line:
> >
> > extern PGDLLIMPORT PGPROC *MyProc;
> >
> > I want to know why PGDLLIMPORT is used here?
> >
> > Does it mean: exten PGPROC *MyProc; right?
>
> What platform are you working on?
>
> On Windows it's required to allow the static linker to generate the
> correct symbol tables and the runtime/dynamic linker to correctly link
> binaries. See:
>
> http://support.microsoft.com/kb/132044
> http://msdn.microsoft.com/en-us/library/8fskxacy(v=vs.80).aspx
> http://msdn.microsoft.com/en-us/library/a90k134d(v=vs.80).aspx
>
> For other platforms the same macros can be used for symbol visibility
> filtering, but are usually set to evaluate to nothing so they have no
> effect.

Thanks, those URLs are helpful, and I added them as C comments to
win32.h.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Albe Laurenz 2012-11-07 20:26:14 Re: Problem with streaming replication over SSL
Previous Message Magnus Hagander 2012-11-07 19:58:06 Re: [GENERAL] Error registering at postgresql.org