1、为每个.c文件写一份.h文件,.h文件是对它对应的.c文件的说明 2、如果需要用到某个.c文件中的变量、函数、宏时,只需要把该文件的.h文件导入即可 3、.c文件也要导入自己的.h文件,目的是为了让定义与声明保持一致 头文件的相互包含: 假如a.h包含了b.h的内容,而b.h中又包含了a.h的内容,这时就会产生...
而条件编译的出现,就可以按照条件选择性省略掉一部分无用的代码,生成不同的目标文件,从而提高了程序的可移植性和灵活性。同时,条件编译还有一个最大的作用,避免头文件重复引用的问题。头文件之间可能会存在互相包含的关系,如果不预先处理,是会让编译器产生报错的。条件编译的指令有如下几个:2. 条件编译的格式...
该条件编译指令更重要的一个应用是防止头文件重复包含。 如果f.c 源文件中包含 f1.h 和 f2.h 两个头文件,而 f1.h 头文件及 f2.h 头文件中均包含 f3.h 头文件,则 f.c 源文件因为包含了 f1.h 和 f2.h 两个头文件,所以中重复包含 f3.h 头文件。可采用条...
编写一个新的头文件 test.h: #definePI3.1415 现在我们引入这个头文件,那么对应的预编译指令也会跟着包含进来: #include<stdio.h>#include"test.h"// ifdef用于判断是否定义了符号PI,如果没有的话则处理以下的指令#ifdefPI#defineM666// 如果定义了符号PI,那么就处理这个分支的语句#else#defineM777// 最后需要...
条件编译主要在两个地方常见: 头文件(.h)&& 源文件(.cpp) 先来介绍他们的作用 在头文件中进行条件编译一般是在文件的开头,这个主要是为了防止头文件重复覆盖增加存储 #ifndef __STACK_H__ // 如果没有定义这个表达式 #define __STACK_H__ // 就定义这个表达式 ...
五、条件编译 六、头文件的包含 1. 头文件包含的方式 2. 嵌套文件包含 上期回顾:【C语言基础】:预处理详解(一) 一、宏和函数的对比 宏通常被应有于执行简单的运算。 比如在两个数中找出较大的⼀个时,写成下面的宏,更有优势⼀些。 代码语言:javascript ...
#include "头文件"会先从该程序所在的目录查找头文件然后再查找系统默认位置 3.条件编译 #ifdef 标识符 程序段1#else 程序段2#endif 它的作用就是当标识符被定义过(一般是用#define定义),对程序段1编译,否则对程序段2编译 4.extern “C” 在C/C++混合编程环境中,extern "C"的作用就是告诉C++编译器这段代...
首先判断当前源文件内有没有定义MYHEADER_H_标识符,如果没有定义,说明myheader.h文件还未被包含,那么就包含这个头文件,如果当前文件定义了,就说明这个头文件已经被包含了。总结 条件编译指令类似于选择语句中if、else、else if,只不过因为没有大括号,所以用#endif来作为结尾。#ifdef、#ifndef、#elifdef、#...
要么使用在头文件的顶部插入一条#pragma once指令,表示这个头文件在同一个源文件里只能包含一次,关于#pragma指令的俄详细用法,可以参见我的这篇文章:c语言预处理指令轻松学(2)pragma指令控制编译器的行为,要么使用条件编译指令,条件编译指令的用法就成为头文件包含防护机制,使用起来也很简单,就是在头文件的...