最近因为项目需要将某算法封装为dll以供PB调用,其间出现了某些某些问题,先将其一一记录。
最开始封装好的dll,c++能够调用,但pb调用时却报错。通过查阅资料得知,PB调用的dll中,需要以_stdcall来声明外部接口,且需要编写.def文件。因为VC++对于__declspec(dllexport)声明的函数会对函数名尾附加函数在DLL中的地址。
且在Dll中定义的接口函数,如果参数中有浮点型变量,在pb中调用时则需要使用ref real来声明变量才可以正确获取dll中的数据。
最近因为项目需要将某算法封装为dll以供PB调用,其间出现了某些某些问题,先将其一一记录。
最开始封装好的dll,c++能够调用,但pb调用时却报错。通过查阅资料得知,PB调用的dll中,需要以_stdcall来声明外部接口,且需要编写.def文件。因为VC++对于__declspec(dllexport)声明的函数会对函数名尾附加函数在DLL中的地址。
且在Dll中定义的接口函数,如果参数中有浮点型变量,在pb中调用时则需要使用ref real来声明变量才可以正确获取dll中的数据。