| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
nico* REGULIER

Inscrit le: 23 Avr 2006 Messages: 92
|
Posté le: 11 Mai 2006 18:56 Sujet du message: compilation avec plusieurs fichiers sources en C compilation avec plusieurs fichiers sources en C |
|
|
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 |
|
 |
nfk PONCTUEL

Inscrit le: 04 Avr 2006 Messages: 21
|
Posté le: 12 Mai 2006 14:44 Sujet du message: compilation avec plusieurs fichiers sources en C |
|
|
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 |
|
 |
|
|
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
|
|