CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] header

-MasterLink-
-MasterLink-
Niveau 6
09 avril 2008 à 19:33:48

Salut

Alors cette fois-ci je poste pour quelques questions sur les header.
Je fait actuellement un projet sur Dev-cpp, mais qui commence a devenir long. Enfin circuler entre 1000 lignes sur 1 seul fichier, c'est pas pratique :) , donc je me suis dit que c'était le moment de regarder ce qu'était la programmation modulaire. Après documentation et test, j'ais une problème de linker, mais en attendant que ce soit résolu, je voulais quand meme poser quelques questions

-En premier, faut il déclarer les variables globales dans un header ou au début d'un .c ?
-Dans le meme genre, est-ce qu'un tableau dynamique global se gère de la meme facon?
-Est-ce qu'un tableau de fonction est considéré comme une fonction, donc faut il mettre un prototype pour lui aussi?

Voila, merci d'avance

dnob700
dnob700
Niveau 10
09 avril 2008 à 20:15:30

les variables globales sont déclarées dans un en tête (avec le mot clef "extern") et définies dans un fichier .c

Pour les tableaux, c'est pareil.

fracart
fracart
Niveau 5
09 avril 2008 à 22:54:05

Il ne faut pas oublier qu'il est déconseillé (bonnes pratiques) d'utiliser des variables globales.

-MasterLink-
-MasterLink-
Niveau 6
09 avril 2008 à 23:30:08

Il ne faut pas oublier qu'il est déconseillé (bonnes pratiques) d'utiliser des variables globales. :d) En fait j'ais juste 2 ou 3 variables globales, le reste sont des tableaux de structures dynamiques, 1 case par sprite, et comme j'en ais besoin dans chaques fonctions, j'ais pensé qu'il était mieux de les déclarer en global plutot que de faire passer en paramètre

les variables globales sont déclarées dans un en tête (avec le mot clef "extern") et définies dans un fichier .c :d) Donc si j'ais plusieurs .c , je met le "extern variable;" dans un header que j'inclus dans chaque .c voulu, et je les déclare normalement dans tous les .c , c'est ca ?

dnob700
dnob700
Niveau 10
10 avril 2008 à 00:24:49

non, tu les déclare normalement dans un seul .c seulement (et extern dans un en tête inclue par tout les .c qui utilisent cette variable). A noter que le .c où est vraiment déclarer la variable peut se passer d'inclure l'en tête où elle est déclarée extern. Mais, ça ne gène pas de l'avoir.

Et si tu veux une variable globale pour un seul fichier .c alors tu la déclare dans ce fichier seulement (et dans aucun en tête) avec le mot clef static.

-MasterLink-
-MasterLink-
Niveau 6
10 avril 2008 à 13:56:22

Ok merci.

Alors maintenant sa compile, mais j'ais quand meme 4 warning dans le makefile :
[warning]overriding commands for target '"../../../../../Documents'
[warning]ignoring old commands for target '"../../../../../Documents'
[warning]overriding commands for target 'and'
[warning]ignoring old commands for target 'and'

Je vais bidouiller tout sa en esperant trouver la source des warning :p)

Encore une question, 1 fois sur 5 ou 6, au lancement de l'application, elle se referme tout de suite. Je pense que c'est en rapport avec les tableaux dynamiques (je ne vois pas d'autre explications en fait :p) ) mais je ne sais pas du tout comment m'y prendre pour trouver d'ou viens la fuite.
Quelqu'un sait comment procéder?

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment