Domanda

Testo ottiene accumula frammentario prima di essere inviato al cliente.

Ora usiamo propria classe che alloca la memoria per ogni pezzo come char massiccia. (In ogni caso, funziona come char[][] + std::list<char*>).

Poi si costruisce l'intera stringa, convertirlo in std :: pungono e quindi creare boost::asio::streambuf utilizzarlo. Questo è abbastanza lento, suppongo. Correggetemi se sbaglio.

Lo so, in molti casi viene utilizzato tipo semplice FILE da stdio.h. Come funziona? Alloca memoria ad ogni scrivere in esso. Quindi, è più veloce e c'è un modo di leggere in boost::asio::streambuf da FILE?

Aggiungi : Hm. Ho dimenticato una cosa grande :). La compilazione di DLL e l'applicazione principale è fatta sotto alcuni compilatori, quindi dovrebbe avere alcuna roba STL al suo interno ... perché di solito causano un sacco di problemi, durante l'esecuzione DLL.

È stato utile?

Soluzione

Non ho idea di quanto sia efficiente è, ma io di solito uso un ostringstream per questo genere di cose

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