windows 7 我已经在C中建立了一个项目来制作dll,可以在python编写的大型程序中使用。
static HANDLE hCom = INVALID_HANDLE_VALUE;
unsigned int g_dldtool_exit_code = 0;//can not be written by other threads.
hCom = CreateFile( commPort,
GENERIC_READ | GENERIC_WRITE,
0, // must be opened with exclusive-access
NULL, // default security attributes
OPEN_EXISTING, // must use OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, // overlapped I/O
NULL // hTemplate must be NULL for comm devices
);
if (hCom == INVALID_HANDLE_VALUE) {
// Handle the error.
TRACE ("CreateFile failed with error %d", GetLastError());
g_dldtool_exit_code = 1;
goto _exit;
}
if (hCom != INVALID_HANDLE_VALUE) {
unconfig_serial_port();
fSuccess = CloseHandle(hCom);
我用过
if (hCom != INVALID_HANDLE_VALUE) {
unconfig_serial_port();
fSuccess = CloseHandle(hCom);
关闭串行端口,但是每次程序进入此处时if条件都无法满足,因此无法关闭串行端口。 当我注释if条件时,会发生错误:ERROR showed when building dll
如何关闭 串口?
完整代码可在此处下载: https://www.dropbox.com/s/kk2sc3r6pmmh7tt/download_main.c?dl=0
答案 0 :(得分:1)
您报告的错误似乎是由于语法问题引起的。 也许当您注释掉“ if”语句时,您删除了方括号“ {”,但没有删除方括号“}”。 关于为什么代码不满足if语句条件,很难从那些代码中说出来。