Re: Incompatible library : Missing Magic Block
От | Craig Ringer |
---|---|
Тема | Re: Incompatible library : Missing Magic Block |
Дата | |
Msg-id | 4AE18D5A.9000502@postnewspapers.com.au обсуждение исходный текст |
Ответ на | Re: Incompatible library : Missing Magic Block ("Massa, Harald Armin" <chef@ghum.de>) |
Ответы |
Re: Incompatible library : Missing Magic Block
|
Список | pgsql-general |
Massa, Harald Armin wrote: > Ambarsih, > >> // add.cpp : Defines the entry point for the DLL application. > > are you sure that you using the C-Compiler and not the c++ compiler? > As much as I know about defaults, that will be a C++ compiled > function, which is something totally different then a C compiled > function. (and, to my knowledge, a C++ function is not easily callable > by PostgreSQL) So long as the function uses C linkage (extern "C") it'll be callable directly from C++ using dlopen(), LoadLibrary, etc. A C++ function is callable from C via function pointer even if it has C++ linkage, though the C calling convention declared must handle stack management, parameter passing and return value popping in the same way the C++ calling convention on that compiler does. That means that it's unsafe to call a __thiscall C++ member function from C, but otherwise it's generally fine so long as the C and C++ compilers default to the same calling convention or you explicitly specify it on both ends. -- Craig Ringer
В списке pgsql-general по дате отправления: