In a Windows environment,
When I tried to link a DLL to my program Explicitly (using LoadLibrary),
- First I need to define the function pointers according to each function signature inside the DLL.
- Then get the function addresses using 'GetProcAddress' and assign them to those pointers.
When I tried to link the DLL to my program Implicitly (using header file)
- First it need the relevant header file to get function signatures.
Then it needs the relevant
Lib
file that was generated with the DLL.My questions are
- Why does implicitly linking need a
Lib
file as well? - What information does it need to retrieve from 'Lib' file that it cannot get from the
DLL
orHeader file
? - If there is something for question 2, how is information retrieved when explicitly loading?
- Why does implicitly linking need a
I've already gone trough this question. But I cannnot understand any worthy reason. Please, could someone help to explain this in simple terms. Thank you.