Bonjour,
je suis en train de démarrer un petit projet (pas d' ide tout à la main) et je m' interroge sur la façon dont je 'dois' séparer mon code.
Donc j' ai quelques petites questions de débutant en code séparé :
Programmant avec GTK je suis amené a traiter une (des) fonctions de callaback.
Mais comme je sais qu' elle sera grande, et pour le clarté de mon code, je souhaite la mettre dans un autre fichier.
Problème : Le seul argument 'data' que peut prendre cette fonction est un pointeur void :
-Si 'main.c' lui passe des données structurées à travers ce pointeur void, il me sera inutile dans la fonction puisque la définition de la donnée structuré est dans le fichier 'main.c'. non ?![]()
-Ensuite je vois partout l' utilisation d' entêtes .h faisant interface avec un corps en .c Mais je n' ai jamais réussi a en comprendre l' intérêt, si ce n' est de la clarté (quand le corps contient des 12aines de fonctions) et la possibilité de compiler son code séparément (on ne peut pas le faire en incluant seulement des .c ? ) . Donc j' aurais tendance a faire directement un .c de ma fonction et a l' inclure, quel est en serait le mal?
-J' ai aussi compris qu' il fallait linker ses fichiers. Pourtant en faisant des test (un fichier main.c incluant une fonction présente dans un fichier fonction.c) j' ai constaté que ça marchait, dans quel cas le linkage est-il nécessaire ?
voilà pour les questions laissant voir que je n' ai rien compris à certaines choses.
si vous avez le temps. merci ;°)
Partager