labview调用c++dll字节对齐问题

最近接手了前人开发的项目(c++的DLL),本来是为了被32位labview程序调用的,而我需要调试该项目,使其能被64位labview程序调用,实际情况却是交互的结构体中的数据一直出现数据错位的问题,而32位却没有出现该现象,第一反映肯定是字节对齐出现了问题(虽然确实是这个原因。。。),可是由于本人对labview不熟悉,对接的人对于字节对齐的概念也不是非常的清楚,导致了该问题拖了我很久,直接去百度labview字节对齐,绝大多数的文章都会告诉你labview是1字节对齐的,本来自己开发的dll为了通用性,直接把所有的结构体都编译为了一字节对齐,这在32位labview下确实是没啥问题的,但是64位labview实际却不是1字节对齐的,这跟平台有关,这些内容搜了好久才在一个犄角旮瘩搜出来了。。。主要是labview中的cluster字节对齐的相关内容。

https://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/how_labview_stores_data_in_memory/

貌似是官网文档。。。我连labview是谁的都不知道。

posted @ 2021-07-06 16:32  qslt916  阅读(494)  评论(0)    收藏  举报