To write a .dll you just compile it as a library, rather than an executable. To use a .dll (speaking from a .NET Background) you just need to reference them in your project. To write a .h you don't need to use a special format. Just use a text editor.