Windows下使用vim编写代码,使用nmake编译代码,使用vs来调试代码

1、编写代码

2、编写Makefile,如果要调试,

  2.1、需要在编译的时候加上/Zi ( Generates complete debugging information),编译由cl.exe来完成

  2.2、需要在链接选项中指定/DEBUG,(The /DEBUG option creates debugging information for the .exe file or DLL.

The linker puts the debugging information into a program database (PDB). It updates the PDB during subsequent builds of the program.

An .exe file or DLL created for debugging contains the name and path of the corresponding PDB. The debugger reads the embedded name and uses the PDB when you debug the program. The linker uses the base name of the program and the extension .pdb to name the program database, and embeds the path where it was created. To override this default, set /PDB and specify a different file name.)这样就会生成pdb文件,链接由link.exe来完成

3、devevn.exe 执行文件 (打开ide,  在源码文件中打上断点,或参考云风大神的博文:IDE 不是程序员的唯一选择(一),使用中断语句直接在代码中加断点)

 

以下是一个Makefile文件,来自《深入浅出MFC 第二版》

Hello.exe: StdAfx.obj Hello.obj Hello.res
    link.exe /nologo /Debug /subsystem:windows /incremental:no \
        /machine:I386 /out:"Hello.exe" \
        Hello.obj StdAfx.obj Hello.res \
        mfc80d.lib

StdAfx.obj: StdAfx.cpp StdAfx.h
    cl.exe /nologo /MDd /W3 /GX /O2 /D "WIN32" /D "DEBUG" /D "_WINDOWS" \
        /D "_AFXDLL" /D "_MBCS" /Fp"Hello.pch" /Yc"StdAfx.h" /c StdAfx.cpp

Hello.obj: Hello.cpp Hello.h StdAfx.h
    cl.exe /nologo /MDd /W3 /GX /O2 /D "WIN32" /D "DEBUG" /D "_WINDOWS" \
        /D "_AFXDLL" /D "_MBCS" /Fp"Hello.pch" /Yc"StdAfx.h" /c Hello.cpp

Hello.res: Hello.rc Hello.ico
    rc.exe /l 0x404 /Fo"Hello.res" /D "DEBUG" /D "_AFXDLL" Hello.rc

Clean:
    del *.exe *.obj *.res *.manifest *.pch *.pdb

 

posted @ 2017-04-03 15:46  shanql  阅读(451)  评论(0编辑  收藏  举报