FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs  Galerie PhotosGalerie Photos   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

compilation avec plusieurs fichiers sources en C



 
Poster un nouveau sujet   Répondre au sujet    forums.jelectronique.com Index du Forum -> Programmation Programmation
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
nico*
REGULIER
REGULIER


Inscrit le: 23 Avr 2006
Messages: 92

MessagePosté le: 11 Mai 2006 18:56    Sujet du message: compilation avec plusieurs fichiers sources en C compilation avec plusieurs fichiers sources en C Répondre en citant

Salut tt le monde,

je suis en train de faire un prog en C avec plusieurs fichiers sources : le main.c et d'autres qui contiennent des fonctions. Je programme sur PIC avec Mplab-C18.

je me pose 2 questions :
- quand je déclare une variable dans le main, comment faire pour qu'elle soit accessible depuis les autres fichiers ?
- quand dans le main je tape : "#define flash_enable_write PORTAbits.RA0", comment faire pour utiliser "flash_enable_write" dans les autres fichiers ?

j'ai quelques début de solutions :
- en analysant les fichiers de fonctions diverses de MCC18, j'ai vu des trucs comme "extern volatile near unsigned char CCP2CON;" ou "extern near unsigned FSR0;"
- faut il placer tous les "#define" dans un *.h, et faire un "#include "*.h"" dans chaque fichier *.c ?

_________________
Choisis le métier qui te plaît et tu n'auras jamais l'impression de travailler.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
nfk
PONCTUEL
PONCTUEL


Inscrit le: 04 Avr 2006
Messages: 21

MessagePosté le: 12 Mai 2006 14:44    Sujet du message: compilation avec plusieurs fichiers sources en C Répondre en citant

Salut,

Citation:
quand je déclare une variable dans le main, comment faire pour qu'elle soit accessible depuis les autres fichiers ?


Pour celà il faut passer ta variable en paramètre lorsque tu appel ta fonction.

main()
{
int ma_variable;
ma_fonction(ma_variable);
}


Citation:
- quand dans le main je tape : "#define flash_enable_write PORTAbits.RA0", comment faire pour utiliser "flash_enable_write" dans les autres fichiers ?


Dans ce cas il faut mieu utiliser un fichier .h que tu va créer et tu place tout des #define dedans et ensuite dans chaque fichier .c tu appel ton .h (#include mon_point_h.h). Dans le fichier .h tu doita voir aussi le prototype de tes fonctions ( ma_focntion(int ma_variable, float ma variable2); )


Citation:
- en analysant les fichiers de fonctions diverses de MCC18, j'ai vu des trucs comme "extern volatile near unsigned char CCP2CON;" ou "extern near unsigned FSR0;"


tu peu aussi utilisé une varible globale qui sera accéssible à ton main ainsi qu'à toute tes focntion qui utiliseron le fichier .h dans le quel tu l'aura créer ( extern int ma_variable_globale;)
cette solution est certe plus simple mais je te conseil la première en passant tes variable en paramètre qui plus "propre" ...

@+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    forums.jelectronique.com Index du Forum -> Programmation Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Vous ne pouvez pas joindre des fichiers
Vous pouvez télécharger des fichiers


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com