Est-il possible de définir la fonction en ligne C dans le fichier .c plutôt que .h?

StackOverflow https://stackoverflow.com/questions/2752644

  •  02-10-2019
  •  | 
  •  

Question

Comme je sais, C corps de la fonction en ligne doit être définie dans le fichier .h car il provoque une erreur « nom-fonction utilisé mais jamais défini » si le corps défini dans le fichier .c.

Est-ce la façon régulière? Ou comment définir corps de la fonction en ligne dans le fichier .c?

Était-ce utile?

La solution

Chaque fichier .c est compilé de manière indépendante en sortie .o. Si vous définissez la fonction en ligne dans un fichier .c, d'autres fichiers source ne peuvent pas voir une telle fonction, de sorte que ne peut pas être inline.

Par conséquent, la fonction en ligne doit être dans le fichier .h pour permettre le code à partager.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top