GNU Compiler Collection , o gcc , è un insieme di strumenti di programmazione per computer offerti come libero , il software open -source per il progetto GNU. Gcc offre una serie di chiamate a funzioni del sistema operativo , fornendo l'accesso a programmi del sistema operativo host . La funzione di gcc "sistema" consente al programma di eseguire comandi di shell , come se li ha emessi dal prompt dei comandi . Linguaggi e Sistemi Operativi
Si può utilizzare la funzione di sistema con una qualsiasi delle lingue supportate di gcc , come C , C + + , Fortran e Java , anche se la sintassi specifica della chiamata di funzione dipende dalla lingua . Non tutte le versioni linguistiche supportare le chiamate di funzione , quindi potrebbe essere necessario compilare il programma usando una versione diversa se si hanno problemi di compatibilità . Come comunità di sviluppatori primario di gcc software utilizza vari derivati di Unix Linux e altri , le migliori possibilità di menzogna compatibilità con questi sistemi operativi , tuttavia , le versioni Windows di GCC , come Cygwin , supportano la funzione di sistema in ambienti Windows
.
Scopo
Quando si aggiunge una chiamata di funzione di sistema per i propri programmi , possono manipolare i file , avviare programmi o eseguire comandi simili compiti prompt. Poiché il programma eredita le autorizzazioni dei file , tutti i comandi vostri problemi del programma sarebbero soggetti alle stesse regole , a meno che non si dispone dei privilegi di amministratore , non si sarebbe in grado di rinominare i file di un altro utente , ad esempio
.
Esempio
funzione il sistema accetta un parametro nella forma di una stringa di caratteri , che può essere un valore letterale o variabile e restituisce un codice numerico di nuovo al vostro programma . Questo esempio mostra come utilizzare la funzione di sistema in un programma Fortran per copiare un file in un sistema Linux :
return_code = system ( 'cp primo_file secondofile ')
Codici di ritorno
il codice di ritorno il sistema operativo passa di nuovo al vostro programma vi dice se il comando è riuscito o ha generato un errore . Per controllare se il sistema operativo gestisce la funzione di sistema gcc , passarlo una stringa nulla , se restituisce con un code zero , il sistema operativo non supporta la funzione . Se il risultato è diverso da zero , esegue i comandi . Con una stringa di comando non nullo, la funzione di sistema restituisce zero se il comando è stato completato normalmente e uno se il comando non è riuscito. Se la funzione restituisce un altro numero , il significato del codice dipende dal software del sistema operativo . In un programma ben strutturato , il programma verifica questo codice e gestisce gli errori in modo controllato , altrimenti il programma può abortire misteriosamente o produrre risultati inaffidabili
.