Oppure

Loading
11/06/10 15:02
Visto che il precedente post è stato chiuso per 3 lettere in più nel titolo,
lo riapro.

durante alcuni esperimenti ho notato che, sotto linux ubuntu, è disponibile l'include thread.h (mi sembra si chiami così;), che permette appunto di avviare e gestire più thread contemporaneamente (un pò come avviene in .net).

Esiste un include simile sotto C++ per MS-DOS (utilizzo freedos al momento)?

Se riuscissi a creare dei thread sotto MS-DOS (e quindi NON Win32 consolle blabla)
....eviterei di dover cambiare piattaforma (da ms-dos a win) senza lo sbattimento di dover riscrivere il programma in un'altro linguaggio

Grazie
11/06/10 15:30
TheKaneB
il sistema operativo MS-DOS esegue solo programmi Single Task e Single Thread.

Se vuoi implementare un programma multithreaded in DOS devi scriverti il tuo personale thread-context-switcher o appoggiarti a librerie che implementano in maniera grezza il multithreading (se esistono).

E' fattibile, ma non è affatto una cosa semplice da fare, in pratica dovresti scriverti un pezzo di kernel per conto tuo...
aaa
11/06/10 15:37
temevo questa risposta..... diciamo che impiegherei di più a realizzarla che a rifare tutto da capo.... cavolo

Ironia della sorte non posso utilizzare il codice sotto linux perchè utilizzo l'include msdos.h per gestire le porte seriali! GRRRRRR :rotfl:

Grazie per il chiarimento comunque
11/06/10 15:42
HeDo
Postato originariamente da Neo1986:

Visto che il precedente post è stato chiuso per 3 lettere in più nel titolo,
lo riapro.



le regole valgono per te come per tutti :)


Postato originariamente da Neo1986:

durante alcuni esperimenti ho notato che, sotto linux ubuntu, è disponibile l'include thread.h (mi sembra si chiami così;), che permette appunto di avviare e gestire più thread contemporaneamente (un pò come avviene in .net).

Esiste un include simile sotto C++ per MS-DOS (utilizzo freedos al momento)?

Se riuscissi a creare dei thread sotto MS-DOS (e quindi NON Win32 consolle blabla)
....eviterei di dover cambiare piattaforma (da ms-dos a win) senza lo sbattimento di dover riscrivere il programma in un'altro linguaggio



perchè hai la necessità di usare ms-dos?

esistono delle api di windows che permettono di gestire la porta seriale tranquillamente, come anche ottime classi di .NET .

dipende quanto è grosso il programma che devi portare.
aaa
11/06/10 15:50
le regole valgono per te come per tutti


;) hai ragione, ma un pò di tolleranza però....



Ho la necessità di utilizzare dos per tre motivi :

1) Girano su delle schede embedded con cpu da 70mhz (che purtroppo da 1 mese non vendono più perchè sostituite da cpu atom)
2) Il software è già completamente steso, utilizzando include msdos, quindi zero portabilità
3) Non sarebbe male avere a disposizione dei thread per rendere il codice un pò più performante

Ma a questo punto mi sa che andrò su .Net con Windows Embedded e atom 1.6, anche se dovrò riscrivere tutto, linux devo escluderlo perchè installare driver delle schede embedded è molto complicato ed alcuni produttori non li forniscono nemmeno!

8-| altri 2 mesi di lavoro
Ultima modifica effettuata da 11/06/10 15:51
11/06/10 15:54
HeDo
Postato originariamente da Neo1986:

le regole valgono per te come per tutti


;) hai ragione, ma un pò di tolleranza però....



Ho la necessità di utilizzare dos per tre motivi :

1) Girano su delle schede embedded con cpu da 70mhz (che purtroppo da 1 mese non vendono più perchè sostituite da cpu atom)
2) Il software è già completamente steso, utilizzando include msdos, quindi zero portabilità
3) Non sarebbe male avere a disposizione dei thread per rendere il codice un pò più performante

Ma a questo punto mi sa che andrò su .Net con Windows Embedded e atom 1.6, anche se dovrò riscrivere tutto, linux devo escluderlo perchè installare driver delle schede embedded è molto complicato ed alcuni produttori non li forniscono nemmeno!

8-| altri 2 mesi di lavoro


se decidi di riscrivere tutto, lo puoi fare in .NET utilizzando il Micro Framework:

msdn.microsoft.com/it-it/library/…
en.wikipedia.org/wiki/…

però c'è da vedere se l'hw che hai a disposizione lo supporta...

aaa