zoukankan      html  css  js  c++  java
  • 预处理指令

    预处理指令:在编译之前进行处理的指令。

    常见的预处理指令有以下几个

    #define
    #undef
    #ifdef
    #ifndef
    #if #elif #else #endif #line #error
    #promga
    #include

    简单看下用法(注意#endif)

    #ifndef MAX_WIDTH
    #define MAX_WIDTH 100
    #endif #if MAX_WIDTH>200 #undef MAX_WIDTH #define MAX_WIDTH 200
    #elif MAX_WIDTH<50
    #undef MAX_WIDTH
    #define MAX_WIDTH 50 #else #undef MAX_WIDTH #define MAX_WIDTH 100 #endif

    接下来是#error的用法

    #ifndef __cplusplus
    #error
    A C++ compiler is required #endif

    如果没有定义__cplusplus这个宏,则让编译器报错,错误信息为“A C++ compiler is required”。

    然后是#line的用法

    #line 200
    cout << __LINE__ << endl;  //200

    #line 200指定下一行的行号为200,__LINE__是本行语句的行号

    #promga是关于配置编译器的,没有正式的定义,编译器可以自定义其用途。

    最后是#include的用法

    #include "iostream"
    #include <iostream>

    两种表达的唯一区别是编译器应该在什么路经下寻找指定的文件。第一种情况下,文件名被写在双引号中,编译器首先在包含这条指令的文件所在的目录下进行寻找,如果找不到指定文件,编译器再到被配置的默认路径下(也就是标准头文件路径下)进行寻找。第二种情况下,编译器会直接到默认标准头文件路径下寻找。

  • 相关阅读:
    2017D 方格分割
    2017B 等差素数列
    完全平方数
    K-th Number(二分答案+尺取法判断)
    cf634div3
    performSelector: 与 dispatch_time 异同
    UIButton 的属性与方法
    Node.js 学习笔记三
    [2019杭电多校第一场][hdu6578]Blank(dp)
    [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)
  • 原文地址:https://www.cnblogs.com/chenyg32/p/3751695.html
Copyright © 2011-2022 走看看