First of all, the size of a header file is unrelated to the size of a binary (.exe or .dll) that uses a function declared in the header file.
A debug build will produce a binary that is larger than one produced by a release build. The default linker options for a release build include an option to remove unreferenced code and data from the generated binary.
A binary that uses load-time (static) linkage to the CRT will be larger than one that uses run-time (dynamic) linkage.