- 2
- 0
- 约1.04千字
- 约 3页
- 2022-03-01 发布于浙江
- 举报
PAGE
PAGE 1
c语言之条件编译技巧与示例分析
(一)条件编译方法 条件编译是通过预编译指令来实现的,主要方法有: 1、#if, #elif, #else, #endif #if条件1 代码段1 #elif 条件2 代码段2 。.. #elif 条件n 代码段n #else 代码段 n+1 #endif 即可以设置不同的条件,在编译时编译不同的代码,预编译指令中的表达式与C语言本身的表达式基本一至如规律运算、算术运算、位运算等均可以在预编译指令中使用。之所以能够实现条件编译是由于预编译指令是在编译之前进行处理的,通过预编译进行宏替换、条件选择代码段,然后生成最终的待编译代码,最终进行编译。 #if的一般含义是,假如#if后面的常量表达式为true,则编译它所掌握的代码,如条件1成立时就代码段1,条件1不成立再看条件2是否成立,假如条件2成立则编译代码段2,否则再依次类推推断其它条件,假如条件1-N都不成力则会编译最终的代码段n+1. 2、#ifdef, #else, #endif或#ifndef, #else, #endif 条件编译的另一种方法是用#ifdef与#ifndef命令,它们分别表示“假如有定义”及“假如无定义”。有定义是指在编译此段代码时是否有某个宏通过 #define 指令定义的宏,#ifndef指令指找不到通过#define定义的某宏,该宏可以是在当前文件此条指令的关面定义的,也可以是在其它文件中,但在此指令之前包含到该文件中的。 #ifdef的一般形式是: #ifdef macro_name 代码段1 #else 代码段2 #endif 或 #ifdef的一般形式是: #ifndef macro_name 代码段2 #else 代码段1 #endif 这两段代码的效果是完全一样的。 3、通过宏函数defined(macro_name) 参数为宏名(无需加“”),假如该macro_name定义过则返回真,否则返回假,用该函数则可以写比较简单的条件编译指令如 #if defined(macro1) || (!defined(macro2)
您可能关注的文档
最近下载
- 工程建设强制性条文-电力工程部分.pdf VIP
- 医科大学2020-2021学年第一学期期末考试护理专业《人体解剖学》B卷.docx VIP
- 搞笑小品剧本《台湾导演》台词完整版 笑傲江湖崔大笨.docx VIP
- 2026湖北省东风汽车集团股份有限公司采购管理部招聘6人备考题库精编答案详解.docx VIP
- PDA TR26 液体灭菌过滤指南 (2025,中文).pdf VIP
- 高考英语3500词频表.pdf VIP
- 110kV武骏专用变电站工程--变压器110kV中性点成套装置招标文件(技术规范专用部分).doc VIP
- 母鸡萝丝去散步.pdf VIP
- 火电工程限额设计参考造价指标(2020年送审).docx VIP
- 2023年高考语文专题复习:《诗经》 诗歌鉴赏 讲义(含练习题及答案).pdf VIP
原创力文档

文档评论(0)