构建全局变量时候,如果出现异常,应该如何捕获?
初始化串口时遇到的问题,想尽各种方法,不知道该如何绕开其异常部分。
第二天问琨哥,他说可以用指针啊,new出来不就完了...
顿悟...
不构建全局变量,而是先构建一个全局指针,在main开始执行之后再对这个指针进行new。
如下:
g_com_num = “COM1”
boost :: asio :: serial_port (* g_p_iosev , g_com_num ) //若有异常不知道如何捕获
boost :: asio :: serial_port * g_p_sp = NULL ;
g_p_sp = new boost :: asio :: serial_port (* g_p_iosev , g_com_num ); //可以在main开始执行后进行捕获
延迟构建,捕获异常。
2013-06.06 modified
如果其他程序无法附加你的dll进行调试,查看下是不是全局变量的初始化失败?若失败,最好改成指针形式。