C++ 程序数据传输到动态库后,出现乱码

发布时间 2023-11-15 10:24:08作者: 洲际导弹-35

程序结构体和动态库结构体如下

struct VehInfo 
{
	int ID;
	int laneId;
	VEHSTATE vehstate;
	int leftX;
	int rightX;
	int leftXSignal;//单车道的左位置
	int rightXSignal;//单车道的右位置
	int vehLen;
	int vehWidth;
	int vehHeight;
	/************************************************************************/
	/* 预留                                                                     */
	/************************************************************************/
	int vehSpeed;	//km/h
	int vehType;
	DRIVERDIRECTION driverDirection;
	
	char vehPlate[20];

	char DateTime[60];
	short vehOutFlag;//0表示出车,1表示不出车。//HLM ADD
	

};

  但是结构体指针从程序传输到动态库后,出现了乱码。

问题的原因是C++程序采用的平台工具集是2013xp选项,而动态库采用的平台工具集是2019选项。

两版程序编译的方式不同,导致传输到动态库的数据接口体不一样导致的。

改用同样的选项就行了

 

第二种方式是:将

short vehOutFlag;
结构体提到char类型之前就可以了
short vehOutFlag;

char vehPlate[20];
char DateTime[60];