我們像這樣設(shè)計C / C ++ DLL:WIN32_DLL_EXPORT int FnRetInt(int i){ .... return 32 ;} WIN32_DLL_EXPORT char* FnRetString(){ return "THIS IS A TEST STRING" ;}當(dāng)我們Go使用syscall調(diào)用這兩個函數(shù)時:hd:=syscall.NewLazyDLL(dll_path)proc:=hd.NewProc(dll_func_name)ret:=proc.Call()我們發(fā)現(xiàn):FnRetInt工作正常,但FnRetString沒有。proc.Call返回類型是uintptr,我們?nèi)绾螌⑵涓臑樗璧念愋停ɡ鏴xchar:char *或string)?
如何從用C / C ++編寫的DLL調(diào)用導(dǎo)出的函數(shù),其返回類型為char *或string?
慕無忌1623718
2021-05-12 14:12:33