Une bibliothèque ou library (et pas librairie) est un ensemble de fonction regroupé dans un fichier.
Cette lib peut etre statique ou dynamique. C´est a dire qu´elle peut soit être inclue dans le binaire qui l´utilise. Soit y inclure uniquement suffisament d´information pour trouver les fonction ailleurs (dans un fichier .dll sous windows, .so sous linux)
Comment faire une lib.
pour faire une lib statique globalement, tu ecris un bout de code, tu le compile et tu ne le link pas et tu as gagné.
Pour une lib dynamqiue c´est un peu plus et dépend des compilateurs. GCC génère des lib dynamique avec l´option -shared je penses. Visual studio a un type de projet "DLL".
Il faut noter que lorsque l´on fait des lib dynamique, il faut ce "petit bout de code" qui fait la liaison entre le futur binaire qui utilisera la lib et la lib en elle meme. Ce fichier prends souvent al forme du´une lib statique a linker avec l´application.
Pour utiliser une lib dans un projet, tu as tout a fait raison il faut un fichier .h donnant les prototypes de fonctions que tu veux utiliser. Ce qui parait logique sinon, comment ton compilateur C saurait qu´elle fonction e la lib (statique ou dynamique ca ne change plus rien) il doit appeler.
j´espere que cela répond a ta question.