Fichiers séparés

Fermé
johan - 1 déc. 2005 à 16:26
scol30 Messages postés 22 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 décembre 2005 - 2 déc. 2005 à 07:45
Bonjour , j'ai commencé à étudier la notion de fonction en C , et supposons que j'écrive une fonction qui affiche l'alphabet , pour qu'il y est programme il faut forcément une autre fonction main , donc j'ai 2 fonctions :

main() et alphabet() , dans 2 fichiers séparés , alors je suppose que je dois les appeler main.c et alphabet.c , mais comment les compiler ensemble pour faire le programme svp?

merci
A voir également:

4 réponses

scol30 Messages postés 22 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 décembre 2005
1 déc. 2005 à 18:38
Tu n'es pas obligé d'écrire 1 fichier pour toute nouvelle fonction. Néanmoins pour ton problème sous tu développes sous une IDE (Dev C++, ou autre) et normalement tout est correctement géré, soit il te faut écrire un makefile dans lequel tu vas définir les régles de compilation.

Après pour bien séparer tes fichiers, il te faudrait définir toutes les fonctions accessibles par le main dans un alphabet.h ou tu n'écris que la déclaration de la fonction. Ensuite dans le main tu fais
#include "alphabet.h"
...


Stef
0
fredo10 Messages postés 31 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 4 février 2006 15
1 déc. 2005 à 18:52
ou alors tu fais :
gcc alphabet.c main.c
0
si je devais créer un makefile pour ces 2 fichiers , çà serait comment svp?
0
scol30 Messages postés 22 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 décembre 2005
2 déc. 2005 à 07:45
Le probleme des Makefile est que tant que tu n'y mets pas les mains dedans ca reste un peu comploque. En gros, tu definis des regles de compilation suivant le schema

cible: dependences
commandes

Voici un makefile avec la config suivante:
main.c toto.c toto.h

le nom de ton executable est test. ton compilo gcc (a toi de modifier ce qui ne correspond pas a ton environnement de travail). Tu peux aussi rajouter des flags de compilation dans la var CFLAGS.
CC=gcc
CFLAGS=
EXEC=test

all: $(EXEC)

test: toto.o main.o
	$(CC) -o $@ $^ $(LDFLAGS)

main.o: toto.h
%.o: %.c
	$(CC) -o $@ -c $< $(CFLAGS)

clean:
	rm -rf *.o *~


Pour plus d'info sur les Makefile -> google

Stef
0