Du kan prøve at erklære væsentligste med argumenter;
int vigtigste (int argc, char * argv [])
Dette program blev anvendt i et program, hvor en pc var kontrollerende opgaver. Lad os kalde det PC_critical. Desværre PC_critical lejlighedsvis gået i stå og måtte manuelt reset.
Således en anden pc (PC_monitor) blev anvendt. PC_critical var at sende en besked til PC_monitor hvert femte minut for at sikre, at det var "live". Hvis der ikke besked blev modtaget, PC_monitor tvunget en hård reset af PC_critical ved at anvende en momentan relæ lukning hele manuel reset tænde PC_critical. Driften af relæet var forårsaget af udsender mønster 0x0A om Data Port.
Du kan prøve dette som et eksempel.
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);
}