Una dll e' una libreria dinamica, precompilata, in cui sono incluse alcune funzioni;
un header e' invece un file di testo incluso direttamentedal sorgente e compilato con esso;
non so bene come creare una dll, ma dando una occhiata in giro non avrai problemi atrovare informazioni aggiuntive...