如何在 c 代码中调用 postgis-1.5.dll 的函数



我正在用c创建一个使用Postgis Point的Postgresql扩展。 当我尝试调用 Postgis-1.5 的函数时.dll加载后,它失败并且没有收到任何错误消息这是我代码的一小部分:

    Point *pt =(Point*) palloc(sizeof(Point));
    bool test;
    HINSTANCE DLLHandle;
typedef bool(*ST_empty)(Point*);
ST_emptyPtr ST_empty;
    pt->x = 0.2;
    pt->y = 0.9;
DLLHandle = LoadLibrary(L"postgis-1.5.dll");
ST_empty = (ST_emptyPtr)GetProcAddress(DLLHandle,"LWGEOM_isempty"); 
if (DLLHandle != NULL){
   if(!ST_empty)
     elog(ERROR,"null ehhhh");
   test = ST_empty(p);
       elog(ERROR,"not empty");
    }

谁能帮我?

查看源代码可能会有所帮助:从邮政地理信息系统中继lwgeom_is_empty

你确定它失败了吗?上面的代码不测试函数调用的返回值。以下有什么作用?

if (!ST_empty(p))
  elog(ERROR,"not empty");

布莱恩

相关内容

  • 没有找到相关文章

最新更新