Hello,
Casm wrote:Tell me which switch to use, and I will use it. Default libraries are easy to disable, but the startup code is not.
To be fair, by changing the entry point routine we effectively change the startup code that is first executed. Nonetheless, we recommend the following linker options that can be set through the IDE in order to insure the resulting image is properly built.
1. Linker > Input should be
$(NOINHERIT) followed by any additional libraries to link in specific to your project.
2. Linker > Ignore Default Libraries should be
Yes (/NODEFAULTLIB).
3. Linker > System > SubSystem should be
/NATIVE.
4. Linker > System > Driver should be
Driver (/DRIVER) due to (3).
5. Linker > Advance > Entry Point should be your real entry point routine. (Command line:
/ENTRY option)
6. Linker > Advance > Base Address should be the VA of your program. (Command line:
/BASE option)
7. Linker > Command Line should include /ALIGN:alignment, where alignment is the section alignment that you want unless default alignment is fine.
In any case, we are off topic. If you are interested in reading more, please review the above links provided that provide more through information on the topic in question.