UNIX C Tutorial

November 6

Il sistema operativo UNIX è stata creata usando il linguaggio di programmazione C. Pertanto, non vi è il supporto per la programmazione C in tutti i sistemi operativi Unix e Linux. Ogni volta che si installa un programma software da una fonte, la compilazione e l'installazione sia un programma C o C ++ utilizzando il built-in compilatore C.

Il compilatore C

Ogni sistema Unix (compreso Linux) è un compilatore C installato di default. A seconda del sistema Unix che si sta utilizzando, questo compilatore può essere chiamato con il comando "cc" o il comando "gcc". Il comando "gcc" è la designazione per il compilatore GNU, un compilatore open-source creato per il sistema operativo Linux, ma portato su molti altri sistemi basati su Unix. Questo tutorial utilizzerà il comando "gcc", ma il comando "cc" può essere sostituito.

Il modo più semplice per compilare un unico programma sorgente C è con il comando:

example.c gcc

Ciò compilare il programma e creare un file eseguibile denominato "a.out". Il nome del file "a.out" non ti dà molte informazioni su ciò che il file è in realtà, quindi se si vuole dare un nome al file di qualcosa di diverso, si eseguire il comando:

example.c gcc -o esempio

Ora il file eseguibile si chiamerà "esempio".

L'eseguibile può essere eseguito digitando "esempio", se la directory in cui è memorizzato il programma è in PATH dell'utente. La variabile PATH contiene una lista di directory in cui la shell cercherà di trovare i programmi eseguibili.

Se la directory non è nella variabile PATH, può ancora essere eseguito digitando il comando: ./example

utilizzando Makefiles

Un makefile è utilizzato per fornire un set di istruzioni che devono essere utilizzati per compilare un programma C con più file di origine. Il makefile contiene le definizioni di variabili, regole di dipendenza e commenti la compilazione del codice sorgente.

Le definizioni di variabili vengono utilizzati per definire le cose come il compilatore che deve essere utilizzato e i file di origine che dovrebbero essere inclusi nel programma. Le regole di dipendenza dicono al compilatore quando e come un dato file deve essere ricompilato.

Un semplice makefile sarà simile a questa:

regola di livello superiore per compilare l'intero programma.

tutto: prog

il programma è composto da diversi file di origine.

prog: main.o example1.o example2.o

gcc main.o example.o example.o -o prog regola per il file "main.o".

main.o: main.c example1.h example2.h

gcc -g -Wall -c main.c regola per i file generati durante la pulizia compilation.

pulito:

/bin/rm -f prog main.o example1.o example2.o

Al fine di compilare il programma, eseguire il comando "make" all'interno della directory contenente il file make.

I makefile possono diventare molto complesse molto rapidamente. E 'una buona idea di leggere la documentazione a fondo prima di iniziare (vedi Risorse).

C biblioteche

biblioteca AC è un file che contiene i file di oggetti che possono essere collegati a un programma. Essi possono essere statici o dinamici. Le librerie statiche sono legati solo durante la fase di collegamento di compilazione. Collegamento di librerie dinamiche avviene in due fasi. Le funzioni e le variabili sono collegate nel programma in fase di linking, ma gli oggetti non vengono caricati fino a quando il programma viene eseguito.

Anche in questo caso, la creazione di librerie C è al di fuori del campo di applicazione di questo articolo, tuttavia la documentazione può essere trovato in Risorse.