由于python与VC++应用存在通讯要求,故采用共享内存方式实现,前期采用mmap内存映射的方式实现,由于对结构体数据中,数据的放置顺序有讲究,所以用起来特别不方便。包括从二进制数组中解码结构体也是一个比较费劲的过程,只适合对于数据结构比较简单的方式可采取上述方式。
Ctypes库中对C python之间的数据转换做了相应适配,对于结构体数据也可进行快速适配。所以采用VC++生成共享内存操作的dll库,python通过ctypes来调用这个dll库,即可快速实现共享内存的方式。即不用python去考虑数据同步的工作,采用dll的方式可之间与VC++应用采用相同的信号量处理,而不用关心python数据同步的问题。