记一次LabVIEW调用DLL崩溃经验总结
故障现象
调用完DLL,关闭应用程序时,提示程序异常结束中止
总结经验:
- DLL中如果创建了线程、共享内存、信号量、设备文件等,关闭的时候一定要Close所有HANDLE
- DLL中new或malloc了堆内存,结束的时候一定要delete或free
- 不要越界操作LabVIEW传过来的地址空间,所以LabVIEW写接口vi的时候一定要初始化好内存空间(输入端)
- 一定要连接vi的输出端,不连接LabVIEW默认你不使用这片内存,输入传过来的就不能用
- 注意调用方式的选择,反正就两种C和stdcall,区别网上搜,多试试,选不会崩溃的方式