Le fichier que tu met en copie n'est pas le fichier de la bibliothèque mais le fichier *.h qui l'accompagne.
Je suis très loin d'être un spécialiste de la programmation mais je me renseigne et je m'insurge quand je vois la confusion entretenue entre inclure un fichier d'en tête et le vrai fichier bibliothèque.
Le vrai fichier est le fichier *.cpp
Pour bien comprendre je te suggère de suivre un vrai tuto de C/C++.
Quand tu saura comment est constitué un fichier C/C++ avec ses déclaration de fonctions pour le compilateur et sa fonction main() tout deviendra plus clair.
La programmation avec l'IDE arduino suit les règles du C/C++, simplement l'IDE fait certaines actions obligatoires dans ton dos en te faisant croire que seules les fonction setup() et loop() sont nécessaires.
Une bibliothèque c'est deux fichiers : un fichier *.cpp et un fichier *.h qui fait les déclarations obligatoires pour le compilateur.
Le code se trouve dans le fichier cpp
La bibliothèque dont je te parle est ici : Arduino/libraries/DHTlib at master · RobTillaart/Arduino · GitHub
Et le point essentiel dont je te parle est ici :
// replace digitalRead() with Direct Port Reads.
// reduces footprint ~100 bytes => portability issue?
// direct port read is about 3x faster
Ce n'est que 3 fois plus rapide parce que l'auteur veux continuer à utiliser les dénomination arduino des E/S.
Si on utilise les dénominations d'Atmel, fabricant du micro, la lecture est entre 8 et 10 fois plus rapide.