Je souhaite utiliser la commande "exec" dans un script TCL pour éxécuter un programme en C dont voici le source:
Ce programme est compilé avec "gcc" sous Linux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <stdio.h> #include <unistd.h> #include <stdlib.h> main(int argc, char *argv[]) { int offset, val1, valret=0x15; if (argc == 3) { sscanf(argv[1],"%i",&offset); sscanf(argv[2],"%i",&val1); if ( (offset == 0) || (offset == 2)) { printf("W 0x%02x", val1); } if ( offset == 1 ) { printf("R 0x%02x", valret); } } }
Dans le script TCL, j'utilise la commande suivante:
Avec "param1=0" et "param2=0x45", la variable "r2" contient "W 0x45child process exited abnormally" soit la bonne réponse avec un message d'erreur. Quand je lance le programme "LPTIO1" en console Linux, je n'ai pas de message d'erreur. Mon problème est le message d'erreur avec la commande "exec". Comment dois je utiliser la commande "exec"?
Code : Sélectionner tout - Visualiser dans une fenêtre à part set r1 [ catch { eval exec ./LPTIO1 {$param1 $param2} } r2 ]
D'avance merci pour votre aide.
Partager