作者:crazyasm 此贴贴于2013-9-11 11:24:03,已被阅读198次/回复0 
link debug模式“无法定位程序输入点InitializeExtendedContext于...”
x64汇编写的一个基本的窗口程序:
Entry        proc
    sub    rsp, 40
    
    xor    rcx, rcx
    call    GetModuleHandleA
    mov    hInstance, rax
    
    call    WinMain
    
    xor    rcx, rcx
    call    ExitProcess

    add    rsp, 40
    xor    rax, rax
    ret
Entry        endp
后面的代码大家都知道就省略了...
设置好环境变量后,控制台下(RadASM就是这样编译的,不过没Zi选项)这样编译链接:
ML64.EXE /c /Zi /Cp /nologo /I"G:\Masm64\SDK\Include" "PrintScreenW.asm"
LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /ENTRY:Entry /LIBPATH:"G:\Masm64\SDK\Lib,G:\Masm64\DDK\Lib" /OUT:"PrintScreenW.exe" "PrintScreenW.obj" "PrintScreenW.res"
生成的程序可以顺利执行。
但是打开DEBUG模式:
LINK.EXE /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:cv /PDB:"PrintScreenW.pdb" /ENTRY:Entry /LIBPATH:"G:\Masm64\SDK\Lib,G:\Masm64\DDK\Lib" /OUT:"PrintScreenW.exe" "PrintScreenW.obj" "PrintScreenW.res"
运行程序弹出对话框:

无法定位程序输入点InitializeExtendedContext于动态链接库kernel32.dll上

不知哪位热心网友能帮忙解答下?感激不尽