You can check the macro definition there:
#ifdef BUILDING_DLL
#define PGDLLIMPORT __declspec (dllexport)
#else /* not BUILDING_DLL */
#define PGDLLIMPORT __declspec (dllimport)
#endif
#ifdef _MSC_VER
#define PGDLLEXPORT __declspec (dllexport)
#else
#define PGDLLEXPORT
#endif
It's only useful on Windows platform for the dll building(import, export) the API entries.
------------------ Original ------------------
From: "高健"<luckyjackgao@gmail.com>;
Date: Mon, Oct 29, 2012 02:05 PM
To: "pgsql-general"<pgsql-general@postgresql.org>;
Subject: [GENERAL] Why PGDLLIMPORT is needed
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?