Python調用C++DLL函數出錯String類型問題

 

調用c++ 函數原型以下,一直失敗,請個日誌斷點發現 參數未能正確解析。python

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++ 代碼以下: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")
相關文章
相關標籤/搜索