栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c/c++多文件结构预编译指令的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c/c++多文件结构预编译指令的使用

在我们编写项目或者具有较多功能的程序时,我们不得不把具有各个功能的函数,进行分文件处理,这样不仅方便查找函数,而且也便于后期维护。但是分文件处理也会带来一些问题:头文件的重复包含,结果导致,程序无法编译链接通过。

预编译指令:
—引入头文件:

  • #include <> :使用尖括号,预编译器会到系统路径下去寻找该头文件。
  • #include " " :使用双引号,预编译器会先在当前文件所在目录下查找该头文件;如果没有找到,就回去系统路径下查找。

—写在头文件中的预处理开关指令
#ifndef 标记名
#define 标记名

函数声明、结构体的声明、类的声明等

#endif

上述预编译指令的意思就是:在预编译阶段,如果没有定义标记名、就定义标记名并将函数声明、结构体声明、类声明等拷贝到引入该头文件的文件中;如果定义了该标记,就结束该预编译指令
**注意:该指令和#ifdef #define #endif 相反,但都是成对出现的

正确代码示例:

sum.h文件

#ifndef SUM_H
#define SUM_H
extern int sum(int a, int b);


#endif

sum.c/sum.cpp文件

#include "sum.h"
int sum(int a, int b)
{
	return a + b;
}

main.c/main.cpp文件

#include "sum.h"

int main()
{
	int a = 10;
	int b = 20;
	int c = sum(a , b);
	return 0;
}

下面是多个文件重复使用一个头文件的编译链接期间的逻辑图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号