[PHP] PHP源码中的条件编译定义
2018-01-14 14:13
435 查看
根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译
有这些预处理命令:#if、#elif、#else #endif ;#ifdef #else #endif
PHP源码:
练习:
有这些预处理命令:#if、#elif、#else #endif ;#ifdef #else #endif
PHP源码:
#ifdef SERIALIZE_HEADERS //如果存在宏定义SERIALIZE_HEADERS # define VEC_FREE() smart_str_free(&vec_str) //宏定义VEC_FREE() #else //如果不存在 # define VEC_FREE() do {} while (0) //宏定义空操作 #endif #ifdef DEBUG //如果存在宏定义DEBUG # define LOG_MSG printf //宏定义LOG_MSG #else //如果不存在 # define LOG_MSG(...) //宏定义空操作 #endif
练习:
#if _WIN32 printf("windows系统 \n"); #elif __linux__ printf("linux系统 \n"); #else printf("其他系统 \n"); #endif #ifdef N printf("存在宏定义N \n"); #else printf("不存在宏定义N \n"); #endif
相关文章推荐
- php扩展在编译源码成so的时候,重复定义错误
- Delphi 的编译指令(3): 常用的预定义条件标识符
- ubuntu源码编译安装php常见错误解决办法
- Apache2.4 + PHP 5.5 源码编译安装
- Ubuntu11.10 源码编译安装PHP5.3.8
- 我并没有定义CODE_ANALYSIS编译符号,为什么基于此符号条件编译的类、特性、语句仍在?
- CentOS x64 里php 源码编译出错参见情况及解决办法
- php for Linux之源码编译安装与配置
- 【Object-c基础】Object-c基础之四:预定义,条件编译,数组
- mac os源码编译NGINX和PHP环境
- Delphi 的编译指令(3): 常用的预定义条件标识符
- 详解Centos7源码编译安装 php7.2之生产篇
- 源码编译安装PHP5、PHP7
- fedora 20 源码编译安装最新版 mysql apache2 php
- 还原php的zoeeyguard扩展源码编译前的配置内容
- Android4.0编译源码时出现的:<命令行>:0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror]
- 阅读源码时有很多的条件编译语句,看起来不爽,怎么办?
- 源码编译php5.4 ./configure参数
- [PHP] 编译构建最新版PHP源码
- Red Hat Linux 9下的Mysql5.0.19+Apache 2.2.0 + PHP 5.1.2+GD库源码编译安装过程