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

Petites questions sur les include.

[The_Death]aion
[The_Death]aion
Niveau 9
29 mars 2007 à 13:59:19

Bonjour a toutes et a tous,

Je ne savais pas quoi trouver comme titre, alors j´ai fait dans le générique.
Je travail, enfin me suis orienté sur de la programmation de composants embarqués en temps réel (ou temps partagés). Mais je suis encore néophyte dans le domaine, et quelques questions me taraudent l´esprit, enfin une en particulier.

Sachant que je suis limitée en place dans mes chers composants et que je ne peux pas rajouter des barette de mémoire en plus, de l´eeprom, flash et tout un tas de périphérique qu´il est si simple sur un PC fixe; J´aimerais savoir si lorsque l´on fait de l´include, toutes les fonctions sont intégré dans la compilation, ou simplement les fonctions que l´on utilise ?

Fvirtman
Fvirtman
Niveau 10
29 mars 2007 à 14:18:40

Je serai tenté de te dire "ça dépend l´option du compilateur"

Que ce soit clair, quand tu fais un include, le compilo ne fait que remplacer le code du fichier inclus a la place de l´include (un "remplacer") si tu veux.

Quand tu compiles un .c, il est donc "gonflé" tout de suite par tous les include que tu y mets. Mais ce qui sort de la compilation, c´est un .o (ou .obj) dans lequel il y a TOUTES les fonctions appelées.

Ensuite, lors du link, un link bourrin ne fera finalement presque qu´assembler les .obj, mais il peut y avoir des options dans ton compilo qui permettent au linker d´ommetre les fonctions non appelées, a voir avec ton compilo :)
Je pense qu´un compilo spécial pour systemes embarqué doit déja faire cela, supposition...

[The_Death]aion
[The_Death]aion
Niveau 9
29 mars 2007 à 17:08:34

Merci, je vais regarder les différent fichier généré par le compilateur et les options de celui ci. Je vais vite etre au courant :)
Sachant que c´est Vxworks, il doit y avoir une option embedded ou light.

Merci encore :-)))

LGV
LGV
Niveau 28
29 mars 2007 à 21:53:58

"Quand tu compiles un .c, il est donc "gonflé" tout de suite par tous les include que tu y mets. Mais ce qui sort de la compilation, c´est un .o (ou .obj) dans lequel il y a TOUTES les fonctions appelées."

il y a TOUTES les fonctions *implementees localement, celles inline, et celle template*. Tout le reste, les fonctions appelees entre autres, ne sont que de references identifiees a coup de "name mangling". Le boulot du linker etant justement de cross-reference toutes les declarations et implementations pour generer un binaire.

Fvirtman
Fvirtman
Niveau 10
29 mars 2007 à 23:42:57

ah oui, en effet, faute de langage : je voulais parler des fonctions implémentées, non pas celles qui sont appelées dnas les fonctions, comme dit LGV :)

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