VC++ Minimum Rebuild Dependency File

    From: xuyibo.org  Updated: 2021-04-21

    邮件通知当更新时自动发送邮件通知。
    评论本文有什么建议或评论,可以贴一下。
    我要捐助你的支持,让我们做的更好。

    今天我修改stdio.h文件中内容,发现vc2008自动开始编译所有包含了这个文件的cpp文件,所以就想check下如何实现的。

    使用promon监控cl.exe和link.exe的进程创建参数,发现是在项目目录下创建临时文件,所以就呆在那里,等到出现了RSP0000259283340.rsp一类的文件,拷贝一份,查看发现/Gm参数,vc选项卡说明:Detect changes to C++ class definitions and recompile only affected source files.

    注意这个参数必须和/Zi或/ZI一起使用,也就是说必须在生成pdb的条件下才能生成idb,估计内部在生成pdb时包含了文件关联信息。

    //idb.cpp
    #include 
    #include 
    int main()
    {
        printf("hello world");
        return 0;
    }
    /*build.bat
    cl /c /Gm /Zi idb.cpp
    link idb.obj
    */
    /*output:
    D:tstidb>cl /c /Gm /Zi idb.cpp
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    Skipping... (no relevant changes detected)
    idb.cpp
    D:tstidb>link /debug idb.obj
    Microsoft (R) Incremental Linker Version 9.00.30729.01
    Copyright (C) Microsoft Corporation.  All rights reserved.
    */
    

  1. 相关文章
  2. .xps to .jpg
    TrueCrypt Mount/Unmount Command Line
    C语言数据导入工具 – FileImport
    ZIP文件格式SDK – TinyZip
    IE插件查杀工具 – malware.exe
    cl.exe 的/Gm参数
    WDK中配置binplace
    VC2003/VC2008编译器性能
    绿色静态链接的notepad2
    MD5计算工具 – MD5.exe
    命令行新建文件 – new.exe
    命令行打开保存文件、浏览文件夹工具 – dialog.exe
    命令行弹出文件/文件夹属性工具 – prop.exe
    PE校验和重置工具
    哈希值计算工具 – Hash.exe
    libnet.dll
    绿色静态链接的cvs.exe
    Visual C++生成调试信息(转)
    VC2005编译器堆栈检查汇编码
    C++学习笔记
    MSDN精简版、MSDN绿色版、MSDN VC精简版
    .txt转.chm帮助文件的工具
    弗莱克斯编辑器 – FlexEdit
    C语言代码文档提取工具

  3. 评论本文:
  4. EMail: