C语言条件编译三种方式及第一种方式的格式、作用与示例
预处理程序具备支持条件编译的特性借着该特性能够依据不一样的条件对程序当中不同的部分实施编译操作由此去生成与之相对应的目标代码而此情况对程序的移植以及调试是有着帮助作用的。条件编译总共存在着三种方式紧接着将会逐个进行说明。1、 预处理程序具备条件编译功能能够依据不同条件对程序的不同部分予以编译从而生成相应的目标代码文件这对程序的移植与调试有帮助。条件编译存在三种形式接下来会逐个展开说明标点符号。2、 第一种方式3、 首先第一种形式呈现出这样的格式即ifdef标识符程序段1else程序段2endif。它所具备的作用在于当那个经由define命令定义好的指定标识符出现时编译器会去编译程序段1 要是该标识符并未被定义那么就会编译程序段2。倘若程序段2并不存在也就是为空的情况那么else以及它后面的内容是能够省略的此时格式会简化成ifdef标识符程序段endif。常用于依据是否定义了某宏来决定编译哪部分代码以此提高程序灵活性及可移植性。这种条件编译方式示例参照例9-12。4、 }5、 在程序的第1行借助宏定义设置了NUM让它代表字符串OK它也能够被替换成其他的任意字符串甚至于还可以是空的。因为第14行运用了条件编译指令所以编译器会依据NUM是不是被定义了来挑选编译哪一个printf语句。由于NUM已经在前面被定义了因此系统将会编译并且执行第一个printf语句最终输出的结果是学号与成绩信息。这样的一种结构使得程序在不同的定义情况之下可以灵活地选择输出的内容增强了代码的可配置性以及适应性。6、 把程序的第一行进行取消操作之后才能够编译第二个printf这样的语句它们的意义是相同的读者可以通过上机实践去验证其效果。7、 第二种方式8、 格式的第二种形式是这样的ifndef标识符程序段1else程序2endif 它把ifdef与第一种形式相比替换成了ifndef。它的作用是指定得在未凭借define命令去定义标识符的时候编译程序段1 要是已经被定义了那就编译程序段2。该机制跟第一种形式正好相反重点是用于避免重复包含或者是依据未定义的状态去执行不一样的代码分支常常在头文件保护等场景里使用以此提升程序的健壮性以及编译效率。9、 第三种形态10、 就如同这样存在着第三种格式它呈现为if 常量表达式,然而紧接着是程序段1后续还有 else 程序段2 endif是以形成了这样一种样式这样的样式里当常量表达式的值呈现出为真所指状态是为非零的时候针对程序段1才进行编译器上的编译操作而要是常量成为假的状态那么就会对程序段2予以编译如果经由以此作为方式的话此时的程序是有可依据不同的条件从而开展相应的编译处理动作通过这样去推进能够达成多样化的功能选择就会在提升代码灵活性的同时也提升了代码对于不同情况的适应性最终实现相关的效果。11、 }12、 于此例子当中采用的是第三种的条件编译方式于程序的第一行之处借由宏定义把R设定成为1所以在进行编译之时该常量表达式呈现为真系统会去编译并且执行用来计算以及输出圆面积的代码段尽管类似的逻辑借助条件语句也能够实现然而那样做会致使整个的源程序出现无差别编译的情况所生成的目标代码十分冗长但是用过条件编译单单依照判断结果去选择编译相应的代码段了有效地缩减了最终程序的体积。在所选代码段比较长的时候作为一种编译方式其不仅能够将效率予以提升并且能够让代码结构得到显著地优化所以于实际编程当中具备重要的应用价值。https://soft.zol.com.cn/1054/10545410.htmlsoft.zol.com.cntrue中关村在线https://soft.zol.com.cn/1054/10545410.htmlreport2117预处理程序支持条件编译可根据不同条件编译程序的不同部分生成相应的目标代码有助于程序的移植与调试。条件编译共有三种方式接下来将逐一说明。1、 预处理程序支持条件编译功能可根据不同条件编译程序的不同部分生成相应的目标代码文件有助于程序的移植与...
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2525394.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!