为确保它正常工作,您需要使用与 editbin 位于同一文件夹中的 dumpbin。它显示有关通用对象文件格式 (COFF) 二进制文件的信息。当启用 /largeaddressaware 时,我们可以看到额外的标题“应用程序可以处理大 (>2GB) 地址”
14C machine(x86)
3 number of sections
5AB8D688 time date stamp Mon Mar 26 13:16:24 2018
0 file pointer to symbol table
0 number of symbols
E0 size of optional header
122 characteristics
Executable
Application can handle large(>2GB) addresses
32 bit word machine
如果未启用(默认):
FILE HEADER VALUES
14C machine(x86)
3 number of sections
5AB8D734 time date stamp Mon Mar 26 13:19:16 2018
0 file pointer to symbol table
0 number of symbols
E0 size of optional header
102 characteristics
Executable
32 bit word machine
从命令:
>“C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\dumpbin”/headers C:\MyFile.exe
来自 VS 购买后事件:
调用 "$(DevEnvDir)..\tools\vsvars32.bat"
editbin /largeaddressaware "$(TargetPath)"
dumpbin /headers "$(TargetPath)"
如果会有一些错误,那么直接使用你的环境版本:
调用 "$(VS100COMNTOOLS)..\tools\vsvars32.bat" // 用于 vs 2012。
或
调用 "$(VS120COMNTOOLS)..\tools\vsvars32.bat" // 用于 vs 2013。
或有条件:
IF EXIST "%VS100COMNTOOLS%" CALL "%VS100COMNTOOLS%vsvars32.bat"
IF EXIST "%VS110COMNTOOLS%" CALL "%VS110COMNTOOLS%vsvars32.bat"
IF EXIST "%VS120COMNTOOLS%" CALL "%VS120COMNTOOLS%vsvars32.bat"
IF EXIST "%VS140COMNTOOLS%" CALL "%VS140COMNTOOLS%vsvars32.bat"
IF EXIST "%VS150COMNTOOLS%" CALL "%VS150COMNTOOLS%vsvars32.bat"
(更新)VS 2017:
call "%vsappiddir%..\tools\vsdevcmd.bat"