현재 C/C++에서 Windows Mobile 용 래퍼 라이브러리를 작성하고 있습니다. 나는 다음과 같은 기능을 구현하고 내보낼 수 있습니다 스캔 과정을 시작하기 위해 호출됩니다Windows Mobile/C : 변수가 변경 될 때까지 대기
void start_scanning();
int wait_for_scanning_result();
void stop_scanning();
start_scanning()
. wait_for_scanning_result()
은 결과를 사용할 수있을 때까지 기다렸다가이를 반환하고 stop_scanning
은 프로세스를 중단합니다.
사용중인 라이브러리에는 결과를 사용할 수있을 때 실행되는 콜백 함수가 있습니다.
void on_scanning_result(int result)
{
scan_result_available = 1;
scan_result = result;
}
int wait_for_scanning_result()
{
/* ... wait until scan_result_available == 1 */
return scan_result;
}
내가 어떻게 창에서이 작업을 수행하는 아무 생각이 없다/C와 나는 것 매우 : 내 계획은 다음과 같이 그것을 해결하는 것이었다 있도록
void on_scanning_result(int result)
{
/* My code goes here */
}
불행하게도 나는, 위의 기능을 구현해야 기꺼이 누군가가 나를 도울 수 있거나 내가 이것을 달성하기 위해 사용해야하는 기능을 말해 주면. 이 같은
를이 다 실행하는 건가요 - 쓰레기? 그렇다면 조건 변수 또는 이벤트 동기화 도구를 사용할 수 있습니다. – Dirk
@Dirk : 단일 스레드 또는 다중 스레드로 실행되는지는 중요하지 않습니다. – xsl