Re: server-side extension in c++
От | Craig Ringer |
---|---|
Тема | Re: server-side extension in c++ |
Дата | |
Msg-id | 4BA99185.5030304@postnewspapers.com.au обсуждение исходный текст |
Ответ на | server-side extension in c++ (Igor <igor@carcass.ath.cx>) |
Ответы |
Re: server-side extension in c++
|
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: