一个离开.NET的程序员

ryhan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

调用c++ 函数原型如下,一直失败,请个日志断点发现 参数未能正确解析。

int EXPORT  init_ner(string cfg_path);
typedef int (*Proc_init_ner)(string cfg_path);

int EXPORT  fini_ner();
typedef int (*Proc_fini_ner)();


string EXPORT process(string input_jsn_str);
typedef string (*Proc_process)(string input_jsn_str);

 改动C++ 代码如下:

int EXPORT  init_ner(const char* cfg_path);
typedef int (*Proc_init_ner)(const char* cfg_path);

int EXPORT  fini_ner();
typedef int (*Proc_fini_ner)();


string EXPORT process(const char* input_jsn_str);
typedef string (*Proc_process)(const char* input_jsn_str);

 python如下调用 就可以成功了。

dll = windll.LoadLibrary("NER.dll")

dll.init_ner("./engine_cfg/ner.cfg")

 

posted on 2016-11-12 11:06  ryhan  阅读(1509)  评论(0编辑  收藏  举报