How to generate .H file from the .lib file ? i have created .lib file and i have the .c file for the .lib file itself.
If header files could be generated automatically, then there would be no need for header files in the first place, since the compiler would then be able to compile code without any header files by instead just deducing the corresponding information.
Yes, it's common to add guards against multiple-inclusion. For documentation about best practices - how about you google for "c coding best practices" and pick it up from there.