C++中,头文件与源文件分别有什么作用?
一般都是代表一个基本功能的源文件引用相应的头文件。一个 相关功能的模块可能有若干对源文件和头文件组成。这是基于组件编程的核心。在我看来,他的好处是巨大的,是java不可比拟的,也是不可复制的:c语言中头文件中一般定义了函数的声明、结构体的定义、宏定义。(常量和全局变量最好放到源文件中)1) 从业务扩展性上看:头文件中放函数的声明,函数由源文件实现,这就是将面向接口编程:接口和实现分开,这在面对业务变更频繁的需求中技术实现的好处是显而易见的--只要定义出良好地、扩展性高的接口,实现是可以很方便的更换。2) 从程序架构上看:代码在在大型程序中 需要分成不同的模块,单一模块中又可能分为不同的业务功能单元,他们间有很多相互的调用。头文件中的方法声明、结构体定义、宏就都可以充当这部分的模块与模块间、业务功能单位间的接口调用。模块与模块间,功能单元与功能单元间都是面向接口的调用,耦合性低,这正是基于组件编程的核心思想。3) 从某些技术角度实现上看:头文件可通过宏定义来保证类定义、结构体定义、宏定义的唯一性。确实很方便,不容易出错。在用makefile编译程序时,各个功能单元单独编译,构成中间文件.最终这些中间文件链接成可执行程序,在这些中间文件中重复引用同一头文件是不可避免的。但如果头文件有保护性编程就可以很容易保证类、结构体、宏定义的唯一性 ----最终链接成可执行程序时,可执行程序中代码区中只会有唯一的类、结构体、宏的定义,其他都因为不满足唯一性保护失效。这样的实现是不是很‘优雅’:)))? 我不知道你是否是这样认为,至于我,我是这样认为,haha~
#include //设定插入点
#include //字符处理
#include //定义错误码
#include //浮点数处理
#include //文件输入/输出
#include //参数化输入/输出
#include //数据流输入/输出
#include //定义各种数据类型最值常量
#include //定义本地化函数
#include //定义数学函数
#include //定义输入/输出函数
#include //定义杂项函数及内存分配函数
#include //字符串处理
#include //基于数组的输入/输出
#include //定义关于时间的函数
#include //宽字符处理及输入/输出
#include //宽字符分类
标准 C++ (同上的不再注释)
#include //STL 通用算法
#include //STL 位集容器
#include
#include
#include
#include
#include //复数类
#include
#include
#include
#include
#include //STL 双端队列容器
#include //异常处理类
#include
#include //STL 定义运算函数(代替运算符)
#include
#include //STL 线性列表容器
#include //STL 映射容器
#include
#include //基本输入/输出支持
#include //输入/输出系统使用的前置声明
#include
#include //基本输入流
#include //基本输出流
#include //STL 队列容器
#include //STL 集合容器
#include //基于字符串的流
#include //STL 堆栈容器
#include //标准异常类
#include //底层输入/输出支持
#include //字符串类
#include //STL 通用模板类
#include //STL 动态数组容器
#include
#include
using namespace std;
C99 增加
#include //复数处理
#include //浮点环境
#include //整数格式转换
#include //布尔环境
#include //整型环境
#include //通用类型数学宏
在编译时,源文件里的实现会被编译成临时文件,运行时刻程序找到头文件里的接口,根据接口找到这些临时文件,来调用它们这些实现。
从知识产权保护的角度来看:
头文件,是结构、函数的声明,可以由一家公司提供给其他公司,
源文件是函数的实现,它被编译成obj文件或lib文件,提供出去
这样以来,别人就知道你是怎么实现的,保护了你的知识产权啊
那函数的具体实现从安全的角度来讲是最好放在源文件,而头文件就只是做一个定义吗?
c++基础问题:头文件 , 源文件 , 资源文件,分别是什么。要在你面定义什 ...
头文件就是.h文件,一般用来放类的声明,平时你用的#include<string.h>就是包含这种文件 源文件就是.cpp文件,一般用来放你在头文件里声明的类成员函数的具体实现,一般一个.h文件总会有一个同名的.cpp 譬如现在我有一个类 class T { void printf(){} } 这些内容就放在.h文件中 void T::prin...
VC++中的source files,head files和recource files分别指的是什么?
source files :源代码文件,指 *.cpp head files :头文件,指 *.h recource files:资源文件,位图、图标等,你这是非窗口程序,用不到。
谁能告诉我vc++里面xx.h与xx.c有什么区别与作用?
XX.h是头文件。即存放文件的声明,没有具体的实现。XX.c是源文件。即存放文件的具体实现。一般有一个XX.h就有一个XX.c和它对应。想包含一个C文件进来,只用把XX.h包含进来就行了。
VC++6.0中的c\/c++header和c++source有什么区别?
头文件(header)一般用来声明,源文件(source)一般用来定义;其实可以把头文件写到源文件里作为一个源文件;之所以要分开来,是为了方便维护和使用.
c++中.h是什么文件,怎么打开查看
C++中的.h文件是头文件,用于存储定义和声明。一、头文件概述 在C++编程中,.h文件通常包含类的定义、函数声明、宏定义等。这些文件主要用于声明那些将在多个源文件中使用的变量、函数、类等,以便在编译时能够正确链接和使用。它们是项目代码组织的重要组成部分。二、如何打开查看.h文件 要查看.h文件的...
请问VC++中.h后缀,.cpp后缀等等是什么意思,他们有什么作用?
.h是头文件,.cpp是源文件。.h定义程序的功能.cpp文件是程序功能的具体实现。举个例子说,.h告诉你从北京到广州去,.cpp告诉你从北京坐飞机在郑州降落然后转坐火车去广州。
strcpy 在c ++中包含在哪个头文件中
C++ 中有三类头文件:第一类是原始的C头文件,用 #include <string.h>,注意带.h,这跟C是兼容的。第二类是用标准化的C兼容头文件,用 #include <cstring>,注意不带 .h,其实际内容跟 string.h 完全相同。第三类是标准化的C++的头文件,全新的,用 #include <string>,跟C的 string.h 没...
关于VC++6.0的问题
1. C和C++都有头文件(*.h), 源文件(.c或.cpp)的概念 一个项目(就是能够实现一个完整的既定的功能的软件)可以包含很多很多的文件, 当然也可以包括像stdio.h或者iostream这样的标准库文件 2. 简单来说 工程(也就是项目)的作用就是把各个文件组合在一起, 再普通一点就是把所有的文件都放在...
VC++ 6.0中各种头文件的作用及意思
在VC++ 6.0中,头文件的引入对于程序的正确编译和运行至关重要。通过使用这些头文件,我们可以访问各种预定义的函数、常量和类,从而简化编程过程。以下是一些常用的头文件及其功能:include 定义了输入\/输出函数,这对于处理用户输入和程序输出非常有用。include 包含了字符处理相关的函数,使得字符串的处理...
C\\C++头文件的作用
1、在C语言中,头文件是程序各部分之间保证信息一致性的桥梁,是连接程序对象定义和使用的纽带。以.h为扩展名的辅助性文件,也称为头文件;以.c为扩展名的基本程序文件,也称为源代码文件。2、用于指定模块接口的声明放在文件中,文件名中应标明其预期用途。提供Vector实现的.cpp文件还将包括提供其接口...