Puoi provare a dichiarare con argomenti principali;
int main (int argc, char * argv [])
Questo programma è stato utilizzato in una domanda, se un PC è stato il controllo critici compiti. Permette di chiamare PC_critical. Purtroppo, talvolta PC_critical una fase di stallo e ha dovuto essere reimpostare manualmente.
Così, un secondo PC (PC_monitor) è stato utilizzato. PC_critical è stato quello di inviare un messaggio a PC_monitor ogni cinque minuti per assicurare che si è "viva". Se il messaggio non è stato ricevuto, PC_monitor un hard reset forzato della PC_critical applicando un relè momentanea chiusura tutta l'interruttore manuale su PC_critical. Il funzionamento del relè è stato causato da output il pattern 0x0A sulla porta dati.
Puoi provare questo come esempio.
Codice:
#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);
}