Determining Which Compiler Built a Win32 PE

前端 未结 3 993
日久生厌
日久生厌 2020-12-30 09:22

How can one determine which C or C++ compiler was used to build a particular Windows executable or DLL? Some compilers leave behind version strings in the final executable,

3条回答
  •  再見小時候
    2020-12-30 10:08

    Another option is to check what CRT library the dll links to using depends.exe
    MinGW and Cygwin have their own dlls which are quite obvious to recognize.
    VC6 uses MSVCRT.dll usually
    any newer version of VS has its version next to the dll's file name:
    MSVCR90.dll - VS2008
    MSVCR80.dll - VS2005
    MSVCR71.dll - VS2003
    MSVCR70.dll - VS2002

    Don't take this list as the definitive guide since these names tend to have strange variations, especially in the area of VS2002-2003. There are also other dlls like the MFC and ATL dlls that have similar versioning scheme.

    This will work as long as the PE actually depends on the CRT and it didn't link to it statically.

    I think Delphi also has some DLL it links to but I'm not really sure what it is.

提交回复
热议问题