zoukankan      html  css  js  c++  java
  • 一道面试题: 预处理器标识#error的目的是什么?

    编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。

    下面举个例子:
    程序中往往有很多的预处理指令
    #ifdef XXX
    ...
    #else

    #endif

    当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:

    #ifdef XXX
    ...
    #error "XXX has been defined"

    #else

    #endif

    这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。


    用处就是这样,是不是感觉很没有用处?

  • 相关阅读:
    ffplay源码分析05 ---- 音频重采样
    ffplay源码分析04 ---- 音频输出
    RTMP协议01 ---- 握手
    ffplay源码分析03 ---- 音频解码线程
    ffplay源码分析03 ---- 视频解码线程
    ffplay源码分析02 ---- 数据读取线程
    注解方式实例化Java类
    构造方法与setter方法
    ②初识spring
    分布式编程
  • 原文地址:https://www.cnblogs.com/rollenholt/p/2422032.html
Copyright © 2011-2022 走看看