Hi there
Need help, I just took the example from Postgres help, code:

Code:
#include "postgres.h"
#include "fmgr.h"
 
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
 
PG_FUNCTION_INFO_V1(add_one);
 
__declspec (dllexport) Datum add_one(PG_FUNCTION_ARGS)
{
    int32   arg = PG_GETARG_INT32(0);
 
    PG_RETURN_INT32(arg + 1);
}
 
PG_FUNCTION_INFO_V1(fo);
 
__declspec (dllexport) Datum fo(PG_FUNCTION_ARGS)
{
    float8   arg = PG_GETARG_FLOAT8(0);
 
    PG_RETURN_FLOAT8(arg+1);
}
Code:
CREATE OR REPLACE FUNCTION "public"."add_one_f"(double precision) RETURN double precision AS
'dll_c.dll','fo'
LANGUAGE C STRICT
Select add_one_f(99)
Code:
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before OR while processing the request.
Server falling down in a simple function.
WinXP, server - Postgres 8.3, binaries for compile dll - 8.3.5
build in Dev-cpp (mingw)

PS. Function for int32( add_one(integer) ) is working