iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
📝

_ATL_STATIC_REGISTRY (MSVC) Is Apparently No Longer Needed

に公開

Found that the _ATL_STATIC_REGISTRY macro is no longer used when trying to avoid using ATL DLL based on official documentation

It all started when I tried to set up the ATL Registrar in my project based on this page and decided to check how the required macro (_ATL_STATIC_REGISTRY) is actually used. When I searched for its usage within the header files, I couldn't find it at all. My subsequent investigation led to a surprising discovery.

When I asked an AI about this, it claimed the macro was still necessary. Feeling something was off, I did some research online and found the following statement in the Dev Blogs article "ATL and MFC changes and fixes in Visual Studio 2013":

One of the major changes we made was to eliminate the ATL DLL altogether. All ATL code is now static, either in the header files or in the ATL static library.

It turns out that the ATL DLL was no longer being used as of Visual Studio 2013 😢. It makes sense that _ATL_STATIC_REGISTRY was nowhere to be found.

The AI provided an incorrect answer because the Visual Studio documentation itself contains outdated information. I suppose it was left as is because it doesn't cause any harm by remaining there.

Discussion