-
Notifications
You must be signed in to change notification settings - Fork 947
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update /MD
flag description to reflect modern behavior
#5125
base: main
Are you sure you want to change the base?
Conversation
@EterDelta : Thanks for your contribution! The author(s) have been notified to review your proposed change. |
Learn Build status updates of commit 9c20ce7: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
Can you review the proposed changes? Important: When the changes are ready for publication, adding a #label:"aq-pr-triaged" |
@elterdelta, I'm having misgivings about this page in general. Your correction is right, for a certain time period. The names changed in VS 2015. Because people are still also using versions before that, we'd need to also keep the old names and indicate that the new ones come into play in VS 2015 and later. What I have misgivings about is that we talk about the actual names at all. During VS 2015, the effort with api sets was to create an abstraction between what you linked against and where the code actually lived. Running dumpbin.exe on a simple console exe would likely show you linking against things like api-ms-win-crt-string-l1-1-0.dll. That will ultimately resolve to ucrtbase.dll, which Windows ships starting in Windows 10, I think. |
Learn Build status updates of commit c438ea0: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
Thanks for the context Tyler.
I don't think linking the C++ redist article is necessary.
The other flags descriptions are concise, they don't mention any dependencies. This one being overly descriptive is the problem. I think the best approach here would be to simply remove this unnecessary listing from the @TylerMSFT Let me know what you think. I've ammended the commit for simplicity. |
Thank you, @EterDelta . Huge storm event where I live. Power was out a couple days. Now heading into the Thanksgiving holiday so I'll be out for a week. I'll update this when I get back. I hope your Thanksgiving holiday goes well. |
The current documentation for the
/MD
flag states that applications compiled with this option are statically linked to MSVCRT.lib, which resolves external references to MSVCR.DLL.However, this is outdated and misleading. In modern VS versions, MSVCRT.lib will prefer the UCRT and redirect to the UCRTBASE.DLL and VCRUNTIME.DLL.
You can check this by compiling a simple binary and dumping its dependencies.
This PR updates the
/MD
description to clarify where the "actual working code" is now.