include自身

作者:吴建凰  wjh_2010@163.com

如需转载请声明出处:http://write.blog.csdn.net/postlist


最近写代码遇到这样的麻烦事,文件A中需要多次保护文件B,如下:

#ifdef MFH_DLL_DEF
#undef MFH_DLL_DEF
#endif
#define MFH_DLL_DEF  MFH_DLL_FUN_TYPE 

#include "B.h" //一处


///

//导出函数声明
#ifdef MFH_DLL_DEF
#undef MFH_DLL_DEF
#endif
#define MFH_DLL_DEF  MFH_DLL_FUN_DEC 

#include "B.h" //二处


上面举例中两次包含了B.h,这样就会出现两个头文件A.h和B.h,但我又想只用一个头文件,B.h的内容只写一遍,以便B.h内容的修改。

如何修改呢?C/C++的强大条件编译给我们提供了条件,如下定义即可解决该类问题。


#ifdef MFH_CONFIGFS_FUN

B.h的内容

#endif


#ifndef MFH_CONFIGFS_H
#define MFH_CONFIGFS_H
#define MFH_CONFIGFS_FUN


A.h的内容

#endif


以上宏定义看懂了没,希望对你有帮助。

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,"include stdio"是C语言中的一个预处理指令,用于将标准输入输出库(stdio.h)的内容包含在当前程序中。 这个库包含了一系列输入输出函数,比如printf和scanf,这些函数能够帮助你进行标准输入输出。通常,C语言程序中都需要包含这个库。 例如,下面是一个简单的C程序,用于输出"Hello World"到屏幕上: ``` #include <stdio.h> int main() { printf("Hello World\n"); return 0; } ``` 在这个程序中,我们用到了printf函数,这个函数是在stdio.h库中定义的,因此我们需要在程序开头使用"include stdio"指令将这个库包含进来。这样我们就可以正常地使用printf函数了。 ### 回答2: include stdio 是C语言中的一个预处理指令,表示在程序中包含stdio.h头文件。stdio.h是C语言标准库中的一个头文件,提供了输入输出相关的函数和常量的声明。 通过包含stdio.h头文件,我们可以在程序中使用一些标准的输入输出函数,比如printf、scanf、getchar、putchar等。这些函数可以让我们方便地进行输入输出操作,比如输出文本信息到屏幕上或者从键盘上读取输入数据。 stdio.h头文件也定义了一些常量,比如FILE、EOF、NULL等。其中,FILE是一个结构体类型,用来表示文件的特性和信息。EOF是表示文件结束的常量,我们可以通过检查函数的返回值来判断文件是否已经读取完毕。NULL则表示空指针,可以用来初始化指针变量,表示指针不指向任何有效的内存地址。 总之,通过包含stdio.h头文件并使用其中的函数和常量,我们可以方便地进行输入输出操作,使得我们的程序能够与用户进行交互,同时也方便了我们程序的调试和输出信息的显示。 ### 回答3: include stdio 是C语言中一条预处理指令,它告诉编译器去包含标准输入输出库(stdio.h),以便在程序中使用标准输入输出函数。 stdio.h是标准输入输出的头文件,提供了许多用于输入输出的函数和宏定义。通过包含stdio.h,程序可以使用一些常用的函数,如printf和scanf等。 其中,printf函数用于将格式化的数据打印到标准输出设备(通常是控制台),它可以将字符串、整数、浮点数等多种数据类型打印输出。scanf函数用于从标准输入设备(通常是键盘)接收用户输入的数据,并根据格式化字符串将输入的数据存储到相应变量中。 使用include stdio,可以简化程序的开发过程,同时提高代码的可读性和可维护性。因为stdio提供的函数已经在底层做了很多处理,可以直接调用这些函数来实现输入输出功能,而不需要我们自己编写复杂的处理逻辑。 总之,include stdio是为了方便我们在C语言程序中使用标准输入输出函数而进行的预处理指令,它引入了<stdio.h>头文件,使得我们可以直接调用标准输入输出函数,提高了程序的开发效率和可读性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值