Hello,
I wrote some general functions and put them in a C file which I used then for developing a certain application. So the C file was compiled in the context of that application. But the application does not use ALL the functions from that C file. Still, looking through the dependencies of the generated executable (with Multithreaded DLL) I noticed that the exe needs some functions from the RTL that are never called. For example, in that C file, I implemented a function "long long IsInt64(wchar_t* str,long long* val)", which makes use of RTL function wcstoll(). I don't use wcstoll() anywhere in the program but IsInt64(), which is not called anywhere. But the dependencies of the exe show that it uses wcstoll(), which means that the function IsUInt64() is compiled and linked within the exe, even if it is never called. Could the linker detect that some function compiled in the .obj is not called and not include it in the executable ? This feature exists in some IDEs (Delphi, Virtual Pascal etc.) and is very useful for reducing the size of the executable.
Thank you