Vous pouvez essayer de le déclarer aux principaux arguments;
int main (int argc, char * argv [])
Ce programme a été utilisé dans une application, un ordinateur était de contrôler les tâches critiques. Permet de l'appeler PC_critical. Malheureusement, PC_critical parfois en panne et a dû être réinitialiser manuellement.
Ainsi, un deuxième PC (PC_monitor) a été utilisé. PC_critical a été d'envoyer un message à PC_monitor toutes les cinq minutes afin d'assurer qu'il était "vivante". Si aucun message a été reçu, PC_monitor forcé une réinitialisation matérielle de PC_critical par l'application d'une fermeture momentanée relais à travers le manuel de zéro sur PC_critical. Le fonctionnement du relais a été causé par la sortie de la structure 0x0a sur le port de données.
Vous pouvez essayer cela comme un exemple.
Code:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <process.h>
int main(int argc, char *argv[])
{
unsigned int t_delay, Data;
int tenths_sec;
clrscr();
if(argc != 3)
{
printf("Incorrect number of args\n");
exit(-1);
}
if(sscanf(argv[1],"%d", &tenths_sec)!=1)
{
printf("Time scanf failed.\n");
exit(-2);
}
if (sscanf(argv[2],"%x", &Data) != 1)
{
printf("Parallel port scanf failed.\n");
exit(-3);
}
t_delay = tenths_sec * 100;
outportb(Data, 0x0a); /* operate the relay */
delay(t_delay);
outportb(Data, 0x00); /* release it */
exit(0);
}