zoukankan      html  css  js  c++  java
  • CL.exe的 /D 选项, Preprocessor Macro预处理器宏定义

    在看"Inside COM"第10章的代码. MAKEFILE里面有几个标记我没看懂. 去网上搜也搜不到.

    /D_OUTPROC_SERVER_

    /DWIN32

    /DREGISTER_PROXY_DLL

    后来突然想起有几个文件的编译依赖于预处理器的宏定义, 这尼玛不会是几个宏定义吧? 果然是...

    这Microsoft编译器命令行的蛋疼格式: 为什么编译器选项和参数不用空格隔开呢? 这不容易导致歧义吗

    /D选项的文档: https://msdn.microsoft.com/en-us/library/hhzbb5c8.aspx

    后来根据这几个标记在MAKEFILE中的位置, 顺藤摸瓜找到了使用他们的源文件, 查看这几个源文件的代码, 发现了这么几个宏:

    #ifdef _OUTPROC_SERVER_ // CFACTORY.H 以及包含了它的源文件: CFACTORY.CPP , REGISTRY.CPP, UTIL.CPP , OUTPROC.CPP

    #ifdef WIN32 // SERVER.IDL生成的 dlldata.c , proxy.c , guids.c

    #ifdef REGISTER_PROXY_DLL // SERVER.IDL生成的 dlldata.c , proxy.c , guids.c

  • 相关阅读:
    float浮动
    数据库基础操作
    Python re 模块
    I/O模型的使用
    函数形参与实参
    内置函数重写_运算符重载
    导入模块_导入包_标准库模块
    异常处理
    闭包
    函数式编程
  • 原文地址:https://www.cnblogs.com/qrlozte/p/4919489.html
Copyright © 2011-2022 走看看