未处理的异常,访问冲突写入位置

时间:2012-07-17 17:01:33

标签: c++ exception access-violation unhandled-exception

我正在使用Visual Studio 2012用C ++编写程序。该程序需要连接两个设备:压力传感器和控制电动平台的驱动程序。当我在main中编写所有驱动程序代码时,程序运行正常。电机移动,压力传感器显示该值。但是,我想简化程序并应用对象/类,使其更整洁,更易于管理。我使用.lib和.dll文件,无论出于何种原因,当我开始使用对象时,程序并不喜欢从对象调用函数。

这是我得到的错误:

"Unhandled exception at 0x1000AAD2 (Ldcnlib.dll) in motors.exe: 0xC0000005: Access violation writing location 0x00000025."

我想我可能有#includes错了吗?但我无法弄明白。如果有人关心的话,我已经通过项目文件夹Motors.rar提供了。如果这样做,程序将一直运行到

if((!driverA.setParameter()) || (!driverB.setParameter()) || (!driverC.setParameter()))

主要。调试,我发现问题恰好发生在

int Driver::setParameter(){ 
   if(!StepSetParam(PicoAddr, Mode, MinSpeed, RunCurrent, HldCurrent, ADLimit, EmAcc))  
      return 0;
}
driver.cpp中的

我把那个代码从main中取出来,当我尝试调用.loadTraj.时我得到了同样的问题如果我尝试直接在main中执行!StepSetParam,绕过类,同样的错误

(编辑:可能不言而喻,但该程序根本无法工作,因为您没有必要的设备连接到COM端口,但我希望有人可以通过查看帮助) 代码:Main stdafx.h driver.h driver.cpp stepper.h

0 个答案:

没有答案