现象
HAT 程序在处理 TESTING_THREAD_DONE 事件时,出现非法操作引起程序退出。疑为转换指针类型时发生错误。
Still waters run deep.
HAT 程序在处理 TESTING_THREAD_DONE 事件时,出现非法操作引起程序退出。疑为转换指针类型时发生错误。
在编译手工编码的 MpiProdave.cpp/MpiProdave.h 时,使用 DialogBlocks MinGW Debug (Non-Unicode)标准编译器设置发生编译错误如下。这种错误在其他非 DialogBlocks 生成的某些 c++ 文件编译时也会出现。而使用 MinGW Unicode Debug 标准编译设置时则没有编译错误发生。
g++.exe -c -o MinGWDebug/MpiProdave.o -fno-pcc-struct-return -fstrict-aliasing -Wall -Wno-write-strings -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__ -D__WXDEBUG__ -ggdb -O0 -Wall -Wno-write-strings -I"C:/wx/include" -I"C:/wx/contrib/include" -I"C:/wx/lib/gcc_lib/mswd" src\MpiProdave.cpp *** In file included from C:/wx/include/wx/toplevel.h:317, *** from C:/wx/include/wx/dialog.h:17, *** from C:/wx/include/wx/msw/msgdlg.h:16, *** from C:/wx/include/wx/msgdlg.h:49, *** from src\MpiProdave.cpp:17: *** C:/wx/include/wx/msw/toplevel.h:122: error: expected identifier before numeric constant *** C:/wx/include/wx/msw/toplevel.h:122: error: expected `,' or `...' before numeric constant *** C:/wx/include/wx/msw/toplevel.h:122: error: ISO C++ forbids declaration of `parameter' with no type *** mingw32-make.exe: *** [MinGWDebug/MpiProdave.o] Error 1