Quote Originally Posted by 2kaud View Post
.h header files are used only in the compile phase to generate the intermediate obj files which are then used by the linker to generate the execution file (.exe on window system). The .h header files are not used in the link phase.
Well, I might have been a bit lazy in my formulation - but when you leave the thing in context
with the paragraph I wrote before:
Instead most C/C++ Apps rely on early loading/binding of the Dll-Entrypoints (the Function-Addresses),
using either *.lib-files (or *.a files) in conjunction with *.def-files in the linking-phase of the compilation-process.
period... (in the sense of a 'pause')...

Followed by:
"This linking usually also needs support by an accompanying *.h-file, ..."

Sorry - should perhaps have written:
"This linking-process usually also needs prior support by an accompanying *.h-file, ..."
(for the development and compile-phase of your very own "User" C-Project)...


Remember that the topic was about "VB-like usage of precompiled Dll-Binaries",
incorporating them into ones own C/C++ Project.

@ Mehdi
E.g. what you usually get from a closed source-Vendor, when you look at the
"commercial Driver-lib for a certain Video-Camera" or something, in the install-package:

In a Win-Directory:
.....\TheDriver.dll
.....\TheDriver.lib
.....\TheDriver.def (sometimes, not always - but easily generatable from a *.dll)

In a Linux-Directory:
.....\TheDriver.so
.....\TheDriver.a

accompanied by (usually universal for both platforms) a single *.h file for your C-Compilers
include Folder or the one of your own Project, which wants to integrate that Driver-Library:
.....\TheDriver.h

Usually accompanied by an \Examples\ folder which contains *.c-Files

So, sure - the *.h files are at the "coding-side" (dragged through the PreProcessor) -
the other filetypes are related to the linking-stage.


Olaf