Igor wrote:
> Hi All,
> 
> Is there an easy way to add c++ files to my simple pgsql module ? My Makefile 
> is as follows - 
> 
> ===
> MODULES = pg_uservars
> DATA_built = pg_uservars.sql
> PGXS := $(shell pg_config --pgxs)
> include $(PGXS)
> ===
> 
> I've got "pg_uservars.c" and "hv.cc" and I'd like to compile hv.cc via g++. 
> I'm aware of c++ name [de]mangling, just looking if there's a standard way of 
> using C++ when it comes to pgxs.  

It should "just work". Simply make sure to follow the usual rules for
calling into C++ code from C and vice versa:

- Use "extern C" linkage for all functions that must be accessible by
  dlopen(), and preferably also for any functions that you might take
  a function pointer to and pass to C code

- Never return new()'d memory that might be free()'d by the C code; use
  malloc()

- Never delete() memory that was malloc()'d by the C code; use free()

- Never let an exception propagate into the C code; use a catch-all
  block at the top level of all "extern C" functions

... and probably other things I've missed.

--
Craig Ringer

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to