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>

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

  • 相关阅读:
    JSP源码、改写Servlet为JSP、查看转译成为Servlet的文件、JSP字符编码设置
    使用Tomcat部署应用
    缓冲与缓存
    过滤器及请求封装器实现字符编码
    过滤器与请求封装器实现字符替换
    过滤器
    与请求相关的监听器
    区块链简介
    https协议简介
    http协议简介
  • 原文地址:https://www.cnblogs.com/chenyg32/p/3751695.html
Copyright © 2011-2022 走看看