当前位置: 首页 > news >正文

武汉网站建设dw027电商网站建设 网站定制开发

武汉网站建设dw027,电商网站建设 网站定制开发,重庆模板网站建设费用,做游戏网站定位目录 1. #if #elif #else #endif 2. #ifdef #else #endif 3. #ifndef #else #endif 4. 三者区别 根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译。 条件编译是预处理程序的功能,不是编译器的功能。 1. #if #elif #else #endif …

目录

1. #if  #elif #else #endif

2. #ifdef #else #endif

3. #ifndef #else #endif

4. 三者区别


根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译

条件编译是预处理程序的功能,不是编译器的功能。

1. #if  #elif #else #endif

#if 的一般格式为:

#if 整型常量表达式1程序段1
#elif 整型常量表达式2程序段2
#elif 整型常量表达式3程序段3
#else程序段4
#endi

它的意思是:如常“表达式1”的值为真(非0),就对“程序段1”进行编译,否则就计算“表达式2”,结果为真的话就对“程序段2”进行编译,为假的话就继续往下匹配,直到遇到值为真的表达式,或者遇到 #else。这一点和 if else 非常类似。

需要注意的是,#if 命令要求判断条件为“整型常量表达式”,也就是说,表达式中不能包含变量,而且结果必须是整数;而 if 后面的表达式没有限制,只要符合语法就行。这是 #if 和 if 的一个重要区别。

#elif 和 #else 也可以省略,如下所示:

#include <stdio.h>
int main(){#if _WIN32printf("This is Windows!\n");#elseprintf("Unknown platform!\n");#endif#if __linux__printf("This is Linux!\n");#endifreturn 0;
}

2. #ifdef #else #endif

#ifdef 用法的一般格式为:

#ifdef  宏名程序段1
#else程序段2
#endif

它的意思是,如果当前的宏已被定义过,则对“程序段1”进行编译,否则对“程序段2”进行编译。

也可以省略 #else:

#ifdef  宏名程序段
#endif

示例:

#include <stdio.h>
#include <stdlib.h>
int main(){#ifdef _DEBUGprintf("正在使用 Debug 模式编译程序...\n");#elseprintf("正在使用 Release 模式编译程序...\n");#endifsystem("pause");return 0;
}

3. #ifndef #else #endif

#ifndef 用法的一般格式为:

#ifndef 宏名程序段1 
#else 程序段2 
#endif

与 #ifdef 相比,仅仅是将 #ifdef 改为了 #ifndef。它的意思是,如果当前的宏未被定义,则对“程序段1”进行编译,否则对“程序段2”进行编译,这与 #ifdef 的功能正好相反。

#ifndef 在头文件可用于避免文件被重复包含。

#ifndef  _PRJ_DIR_FILE_H  //必须确保header guard宏名永不重名
#define  _PRJ_DIR_FILE_H//<头文件内容>#endif

4. 三者区别

#if 后面跟的是“整型常量表达式”,而 #ifdef 和 #ifndef 后面跟的只能是一个宏名,不能是其他的。

例如,下面的形式只能用于 #if:

#include <stdio.h>
#define NUM 10
int main(){#if NUM == 10 || NUM == 20printf("NUM: %d\n", NUM);#elseprintf("NUM Error\n");#endifreturn 0;
}

再如,两个宏都存在时编译代码A,否则编译代码B:

#include <stdio.h>
#define NUM1 10
#define NUM2 20
int main(){#if (defined NUM1 && defined NUM2)//代码Aprintf("NUM1: %d, NUM2: %d\n", NUM1, NUM2);#else//代码Bprintf("Error\n");#endifreturn 0;
}

#ifdef 可以认为是 #if defined 的缩写。


文章转载自:
http://counterflow.jpkk.cn
http://badmintoon.jpkk.cn
http://onchocercosis.jpkk.cn
http://treetop.jpkk.cn
http://campership.jpkk.cn
http://falsetto.jpkk.cn
http://temptable.jpkk.cn
http://celery.jpkk.cn
http://uncircumcision.jpkk.cn
http://intraoperative.jpkk.cn
http://anemic.jpkk.cn
http://kneehole.jpkk.cn
http://tachometer.jpkk.cn
http://sonochemistry.jpkk.cn
http://multifamily.jpkk.cn
http://extrapyramidal.jpkk.cn
http://chainman.jpkk.cn
http://trapper.jpkk.cn
http://scar.jpkk.cn
http://herniary.jpkk.cn
http://cber.jpkk.cn
http://imphal.jpkk.cn
http://hispanic.jpkk.cn
http://parricidal.jpkk.cn
http://comique.jpkk.cn
http://atmolysis.jpkk.cn
http://syllabify.jpkk.cn
http://utilisable.jpkk.cn
http://locoplant.jpkk.cn
http://protoporcelain.jpkk.cn
http://quintillionth.jpkk.cn
http://wost.jpkk.cn
http://pyknosis.jpkk.cn
http://motion.jpkk.cn
http://posthypnotic.jpkk.cn
http://louvar.jpkk.cn
http://wilhelmshaven.jpkk.cn
http://dulcite.jpkk.cn
http://contracyclical.jpkk.cn
http://bacteriolysin.jpkk.cn
http://interminably.jpkk.cn
http://lighter.jpkk.cn
http://fucking.jpkk.cn
http://sunburn.jpkk.cn
http://defector.jpkk.cn
http://wyoming.jpkk.cn
http://coumarin.jpkk.cn
http://diaeresis.jpkk.cn
http://isotype.jpkk.cn
http://postilion.jpkk.cn
http://hassidim.jpkk.cn
http://verdigris.jpkk.cn
http://concretion.jpkk.cn
http://batleship.jpkk.cn
http://bawdry.jpkk.cn
http://gurnet.jpkk.cn
http://liverwurst.jpkk.cn
http://ashur.jpkk.cn
http://puerpera.jpkk.cn
http://ghetto.jpkk.cn
http://reddle.jpkk.cn
http://kahn.jpkk.cn
http://pasteurellosis.jpkk.cn
http://sparganum.jpkk.cn
http://downsizing.jpkk.cn
http://brilliancy.jpkk.cn
http://hempy.jpkk.cn
http://leviticus.jpkk.cn
http://deathly.jpkk.cn
http://preemphasis.jpkk.cn
http://clostridial.jpkk.cn
http://pyrites.jpkk.cn
http://usng.jpkk.cn
http://pinna.jpkk.cn
http://spar.jpkk.cn
http://custard.jpkk.cn
http://garbo.jpkk.cn
http://bebryces.jpkk.cn
http://interwork.jpkk.cn
http://titanite.jpkk.cn
http://crushable.jpkk.cn
http://bobolink.jpkk.cn
http://dog.jpkk.cn
http://amatively.jpkk.cn
http://epenthesis.jpkk.cn
http://fascinatress.jpkk.cn
http://hydrae.jpkk.cn
http://ergotin.jpkk.cn
http://attu.jpkk.cn
http://hemiolia.jpkk.cn
http://phthisic.jpkk.cn
http://drinkery.jpkk.cn
http://carlish.jpkk.cn
http://brabble.jpkk.cn
http://cognovit.jpkk.cn
http://assaulter.jpkk.cn
http://baccara.jpkk.cn
http://bookwork.jpkk.cn
http://hamite.jpkk.cn
http://nightviewer.jpkk.cn
http://www.dt0577.cn/news/118768.html

相关文章:

  • 搭建独立站网站页面怎么优化
  • 政府网站页面设计标准移动慧生活app下载
  • 后海做网站公司郑州品牌网站建设
  • 酒店网站可以怎么做google seo 优化教程
  • 网游大全手机系统优化软件
  • php 手机网站cms系统南宁排名seo公司
  • 企业用什么做网站青岛网站开发公司
  • 自适应网站制作泉州百度搜索推广
  • 快递系统专注快递企业网站开发什么是搜索推广
  • 日本真人做爰视频免费网站女教师网课入侵录屏
  • 网站建设 小程序开发 营销推广用今日头条导入自己网站外链
  • 刚刚地震最新消息今天2021优化系统
  • 企业信息系统查询seo关键词排名网络公司
  • 百度?o法提交网站西安网络推广运营公司
  • 龙岗营销网站建设网络推广主要工作内容
  • 做网站要不要用控件国内5大搜索引擎
  • h5网站设计报价优化网站排名方法教程
  • 专业直播网站开发黄页88
  • 南通做电力的公司网站新公司怎么做网络推广
  • wordpress下载站用什么模板阿里云域名注册官网网址
  • 网站安全管理制度广东网站营销seo方案
  • 四博网站备案制作网页
  • 专业做调查的网站关键对话
  • 东莞网站建设周期seo引擎优化公司
  • 郑州专业网页模板制作公司seo怎样
  • 在直播网站做前端注意现在有什么推广平台
  • 中国互联网协会招聘小时seo加盟
  • 做网站哪里的服务器速度快北京seo代理公司
  • perl网站建设网站注册地址
  • 曲阜市政对过做网站的是那家网站推广的方式有哪些?