Pseudo-terminal sous windows ?

Le
Charles Dumont
Bonjour,

Je cherche désespérément de la documentation sur comment émuler un
terminal sous windows. L'idée est d'écrire un logiciel de type console
virtuelle, pour l'intégrer dans l'interface d'un IDE afin que les
programmes déboggés y soient exécutés.

Est-ce possible ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas
Le #23702561
"Charles Dumont"
Bonjour,

Je cherche désespérément de la documentation sur comment émuler un
terminal sous windows. L'idée est d'écrire un logiciel de type console
virtuelle, pour l'intégrer dans l'interface d'un IDE afin que les
programmes déboggés y soient exécutés.




Si c'est un terminal du genre console TTY, il y en a plein en open source
Le plus connu est PUTTY (source C)
Jean-Christophe
Le #23703871
On 30 août, 11:51, Charles Dumont

émuler un terminal sous windows



C'est déja présent sous Windows : « HyperTerminal »
http://msdn.microsoft.com/en-us/library/ms818670.aspx

Sous XP il s'appelle « hypertrm.exe »
( il est assez pratique pour débugger une
carte proto via un port de COM en RS232 )

écrire un logiciel de type console



Pour intégrer un gestionnaire de com RS232
dans un soft Windows, on déclare un handle et on
le gère comme si on lisait/écrivait dans un fichier.
Vois ci-dessous un exemple simple pour 9600,N,8,1

// declaration
HANDLE hp; //com port handle
DCB dcb; // vitesse, bits, parite, etc.
COMMTIMEOUTS cto; // time out

// ouverture du port
hp = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE,
0, 0, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH
| FILE_FLAG_NO_BUFFERING, 0 );

// init
memset( &dcb, 0, sizeof(dcb) ); // reset
dcb.DCBlength = sizeof(dcb); // init
GetCommState( stCom.hp, &dcb ); // load
dcb.BaudRate = 9600;
dcb.fBinary = 1;
dcb.ByteSize = 8; // number of bits/byte, 4-8
dcb.StopBits = 1; // stop bit = 1 ou 1.5 ou 2
dcb.fParity = 0; // enable parity checking
dcb.fOutxCtsFlow = 0; // CTS output flow control
dcb.fOutxDsrFlow = 0; // DSR output flow control
SetCommState( hp, &dcb ); // set

// init
memset( &cto, 0, sizeof(cto) ); // reset
cto.ReadIntervalTimeout = MAXDWORD; // a fond
SetCommTimeouts( hp, &cto ); // set time outs

// emission
WriteFile( hp, buffer, len, &dw, 0 );

// reception
ReadFile( hp, buffer, len, &dw, 0 );

// fermeture du port
CloseHandle( hp );

// HTH !
Matt
Le #23984391
On 08/30/2011 05:51 AM, Charles Dumont wrote:
Bonjour,

Je cherche désespérément de la documentation sur comment émuler un
terminal sous windows. L'idée est d'écrire un logiciel de type console
virtuelle, pour l'intégrer dans l'interface d'un IDE afin que les
programmes déboggés y soient exécutés.

Est-ce possible ?




Bonjour,

Je ne sais pas si tu en as encore le besoin, mais il existe aussi Cygwin.
Publicité
Poster une réponse
Anonyme