How does the Visual C++ program load dll’s before entering the main function in visual studio express 2008? In a project developed by others a dll was loaded by “a.ext:native” but I don’t know how is this configured.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
There are different ways to instruct the OS to load a DLL. The most common way is to link to a .lib file (through the project’s linker settings), where the .lib is a build-time stub associated with the DLL. When the linker finds this .lib file during the linking stage, it knows that the DLL is required, and modifies the EXE internally to tell the operating system that the DLL must exist in order for the program to run.
When the program is later run, the operating system first looks for all required DLL’s – even before beginning to execute the code for the program. If any of these DLL’s are missing, the operating system throws an error, an error box pops up, and the program will not run.
It’s also possible to dynamically load a DLL, but this isn’t all that common.