Domanda

Ho ereditato un codice che, per inizializzare alcuni componenti hardware, scrive alcuni byte e quindi attende un ritorno. Per fare questo si chiama la funzione _write da io.h. Dal mio test, sembra che sia rinchiudere in quel punto. Quindi le mie domande sono le seguenti:

  1. è quella funzione di una funzione di blocco?
  2. C'è un modo di impostare un timeout?
  3. Esiste una funzione alternativa non-blocking potrei usare invece?
È stato utile?

Soluzione

Se si vuole fare async I / O su Windows quindi utilizzare le API Win32 direttamente (un'occhiata a documenti per WriteFileEx / ReadFileEx, che contengono puntatori a sfondo generale async I / O vs sync) o prendere in considerazione boost :: asio .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top