使用来自多个文件的信号量 C-Windows
using semaphores from multiple files C-Windows
我想使用信号量解决 "consumer-producer" 在 windows 中使用 C 的问题。
在文件 (afile.c) 中,我全局声明了一个信号量句柄:
HANDLE empty;
在同一文件 (afile.c) 中,在其中一个函数中,我创建了信号量:
empty = CreateSemaphore(NULL,size, size, NULL);
并在某些功能中使用了它。使用完毕后,我发布了它:
ReleaseSemaphore(empty,1,NULL);
我想在另一个文件 (bfile.c) 中使用这个信号量,所以我在 (bfile.c)
中包含了 (afile.h)
#include "afile.h"
bfile.c无法识别此信号量。
有任何解决此问题的建议,或者有助于理解如何使用来自多个文件的信号量?
在 afile.c 你应该有:
HANDLE empty = INVALID_HANDLE_VALUE;
在 afile.h 你应该有:
extern HANDLE empty;
我想使用信号量解决 "consumer-producer" 在 windows 中使用 C 的问题。 在文件 (afile.c) 中,我全局声明了一个信号量句柄:
HANDLE empty;
在同一文件 (afile.c) 中,在其中一个函数中,我创建了信号量:
empty = CreateSemaphore(NULL,size, size, NULL);
并在某些功能中使用了它。使用完毕后,我发布了它:
ReleaseSemaphore(empty,1,NULL);
我想在另一个文件 (bfile.c) 中使用这个信号量,所以我在 (bfile.c)
中包含了 (afile.h)#include "afile.h"
bfile.c无法识别此信号量。
有任何解决此问题的建议,或者有助于理解如何使用来自多个文件的信号量?
在 afile.c 你应该有:
HANDLE empty = INVALID_HANDLE_VALUE;
在 afile.h 你应该有:
extern HANDLE empty;