❶ c语言中的源文件是什么意思
其实就是保存你所写的敬毕语句的地方,你写完语句后需要用一弊核个软件来打开它,运行它.而这个软件所能识别的文件,就称为该软件的源文件.
如C语言常用的运行软件"Turbo
C",能识别的文件是以".c"为亮卜芹后缀名的文件,所以你在写完C语句后保存的时候,就要保存成***.c
(文件名+点C),以便Turbo
C能顺利的打开.
❷ C++中为什么要头文件和源文件分开写呢
一般都是代表一个基本功能的源文件引用相应的头文件。一个 相关功能的模块可能有若干对源文件和头文件组成。这是基于组件编程的核心。在我看来,他的好处是巨大的,是java不可比拟的,也是不可复制的:c语言中头文件中一般定义了函数的声明、结构体的定义、宏定义。(常量和全局变量最好放到源文件中)1) 从业务扩展性上看:头文件中放函数的声明,函数由源文件实现,这就是将面向接口编程:接口和实现分开,这在面对业务变更频繁的需求中技术实现的好处是显而易见的--只要定义出良好地、扩展性高的接口,实现是可以很方便的更换。2) 从程序架构上看:代码在在大型程序中 需要分成不同的模块,单一模块中又可能分为不同的业务功能单元,他们间有很多相互的调用。头文件中的方法声明、结构体定义、宏就都可以充当这部分的模块与模块间、业务功能单位间的接口调用。模块与模块间,功能单元与功能单元间都是面向接口的调用,耦合性低,这正是基于组件编程的核心思想。3) 从某些技术角度实现上看:头文件可通过宏定义来保证类定义、结构体定义、宏定义的唯一性。确实很方便,不容易出错。在用makefile编译程序时,各个功能单元单独编译,构成中间文件.最终这些中间文件链接成可执行程序,在这些中间文件中重复引用同一头文件是不可避免的。但如果头文件有保护性编程就可以很容易保证类、结构体、宏定义的唯一性 ----最终链接成可执行程序时,可执行程序中代码区中只会有唯一的类、结构体、宏的定义,其他都因为不满足唯一性保护失效。这样的实现是不是很‘优雅’:)))? 我不知道你是否是这样认为,至于我,我是这样认为,haha~
❸ c语言编程为什么要多文件呢
源代码确实是多文件的。不过编译好的目标代码在运行期调入内存后就无所谓文件的概念了,然而不同代码段之间的界限仍然存在。
模块化主要有以下几个优点:
1.便于复用代码。通用性强的重复的功能只要写一遍就可以了,下次要用在其它程序上时只要更改很小的部分或者可以不用更改。
2.便于多人协作。在设计软件之初就可以很清楚地分配各个开发部门的任务。模块的编写者本身只要关注他所写的东西,清楚这一部分的功能,留出接口就可以了。另外,对于整个工程的负责人而言,这样会方便浏览全局的工作进度,统筹人员安排。
3.便于修改和维护。如果能确定只是某个模块有问题,在模块内解决即可,不需要牵一发而动全身。要升级某一部分的功能,可以只针对具体的模块重新开发,节约成本。
其实不只是C语言,许多其它语言也经常使用这种方法。开发大型软件时这种方法非常有效(否则不明显,或者反而有副作用)。对于软件设计来说这不仅仅是一种风格,而是一种方法学了。
声明include包含的函数是声明外部函数,只是extern关键字可以省略。
声明后直接调用就可以了。
----
[原创回答团]
❹ C语言代码的头文件与源文件有什么区别
头文件和源文件在本质上没有任何区别。 只不过一般:后缀为 .h 的文件是头文件,内含函数声明、宏定义、结构体定义等内容。后缀为 .c 的文件是源文件,内含函数实现,变量定义等内容。而且是什么后缀也没有关系岁稿,只不过编译器会默认对某些后缀的文件采取某些动作。这样分开写成两个文件是一个良好的编程风格。
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:
①预处理阶段
②词法与语法分析阶段
③ 编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各 个目标文件 (.obj文件)
④连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关 的可执行文件,当然,最桐谨后还可以用obj生成纯二进制码,也就是去掉了文件格 式信 息。(生成.exe文件)
3.比方说 在aaa.h里定义了一个函数的声明,然后在aaa.h的同一个目录下建立aaa.c , aaa.c里定义了这个函数的实现,然后是在main函数所在.c文件里#include这个aaa.h 然后我就可以使用这个函数了。 main在运行时就会找到这个定义了这个函数的aaa.c文件。这是因为:main函数为标准C/C++的程序入口,编译器会先找到该函数所在的文件。假定编译程序编译myproj.c(其中含main())时,发现它include了mylib.h(其中声明了函数void test()),那么此时编译器将按照事先设定的路径(Include路径列表及代码文件所在的路径)查找与之同名的实现文件(扩展名为.cpp或.c,此例中为mylib.c),如果找到该文件,并在其中找到该函数(此例中为void test())的实现代码,则继续编译;如果在指定目录找不到实现文件,或者在该文件及后续的各include文件中未找到实现代码,则返回一个编译错误.其实include的过程完全可以“看成”是一个乎轮孝文件拼接的过程,将声明和实现分别写在头文件及C文件中,或者将二者同时写在头文件中,理论上没有本质的区别。以上是所谓动态方式。对于静态方式,基本所有的C/C++编译器都支持一种链接方式被称为Static Link,即所谓静态链接。在这种方式下,我们所要做的,就是写出包含函数,类等等声明的头文件(a.h,b.h,...),以及他们对应的实现文件(a.cpp,b.cpp,...),编译程序会将其编译为静态的库文件(a.lib,b.lib,...)。在随后的代码重用过程中,我们只需要提供相应的头文件(.h)和相应的库文件(.lib),就可以使用过去的代码了。相对动态方式而言,静态方式的好处是实现代码的隐蔽性,即C++中提倡的“接口对外,实现代码不可见”。有利于库文件的转发.
❺ C语言中头文件和源文件的关系
1、cpp文件和.h文件有各自的分工,一般来说,h文件中是类的定义和类成员函数的声明,以及全局变量定义等;cpp文件是对应h文件中成员函数的代码实现。一般cpp文件代码较多。
这样做的好处:h文件只声明类成员函数,简单易懂,当其他段蠢文件要调用该类的接口时,只需包含该h文件,并在编译时将该h文握饥陪件和同名cpp文件编译出的库文件一起连接即可。(如在lz写的main文件中只需 #include "Alarm.h")
2、 一般我们在编译的时候只编译cpp文肢渗件,将该cpp包含的h文件设为依赖。从而将这些cpp文件和h文件联系起来
❻ 源文件是什么意思
源文件一般指用汇编语言或高级语言写出来的代码保存为文件后的结果。源文件是相对目标文件和可执行文件而言的。源茄陪文件就是用汇编语言或高级语言写出来的代码保存为文件后的结果。
现行源文件是指处理机正在运行进程或作业的源文件。由于程序纤告运行具有局部性,现行源文件只有一部分调入内存,当内存缺失有关指令和数据,处理机再从外存调入有关的源文件。
文件类型(毁纳明或文件格式)是指电脑为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料。比如有的储存图片,有的储存程序,有的储存文字信息。
简介
在文件系统中,为了便于管理和控制文件而将文件分成若干种类型。由于不同系统对文件的管理方式不同,因而它们对文件的分类方法也有很大差异。为了方便系统和用户了解文件的类型,在许多操作系统中都把文件类型作为扩展名而缀在文件名的后面,在文件名和扩展名之间用“.”号隔开。
从字面意义上来讲,源文件是指一个文件,指源代码的集合。源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码)。
❼ C语言的开始:源文件,头文件
任何C程序最终都是要写在文件上面,通常分两种,源文件和头文件,不是每个程序都有头文件,比如一些简单小程序就没有。
源文件根据惯例,通常扩展名为.C,但是能否用其他扩展名吗?查了一些资料,得到的答案是:尽管标准并没有制定文件的取名规则,但大胡虚多数环境散派都存在你必须遵守的文件名命令约定。
头文件根据惯例,通常扩展名为.h。通常是一个源文件对应一个的头文件,并且两个文件名相同,只是扩展名不同。我一直有个疑惑,就是可以让源文件和头文件两个文件名不同吗?经过亲自折腾一下,确是可以的。经过细想,原因如下:头文件只是用于共享宏、变量、函数等的。而且#include的语义是把对应的文件包含进来,至于包含的文件是什么名字并不重要,要不要和源文件名相同也不重要,如果非要一样,反而限制了#include的能力。另外C99标准中有这样关#include有这样一句话:A #include directive shall identify a header or source file that can be processed by the implementation.也就是说指要编译器支持的文件,#include指令应该都可以包含。一般编译器的功能都挺强大,足够满足我们需求,至于遇到特殊情况的大佬,大佬也会自行解决。
聊到头文件 那就有必要对#include指令进行说冲做贺明:
#include指令常用格式如下:
#include , #include "fileName" #include token(这里token一般指宏的名字)
如果在源文件#include包含有一个static变量或函数的定义的头文件,那么这个源文件也可以访问这个static变量或函数。原因就是这个源文件把对应的文件包含进来,那这些static变量或函数就相当于在这个源文件中定义,当然源文件就可以访问了。
❽ C语言中,源程序与源文件有什么区别麻烦详细点
通常我们在做练习的时候编的程序是将定义的数据结构、函数和宏,都放在了一个.c文件中了。
但是,在做大的项目的时候,往往是由多人完成,有些通用的东西可能多个人都要用到。这样就将数据结构的定义、函数的定义宏的定义甚至包含的头文件都放于某个.h文件里面,把相关功能的代码放在同一个.c文件里面。最后,多个.c文件可以编译成多个.o目标文件,多个.o文件可以连接一个大的工程文件。
以上的.c文件就是源程序文件。知贺
可能没有讲得怎么清楚…但是,初学编程的人可以先养成良好的习惯将数据结构的定义,函数的定义宏的定义放在头文件.h里,其羡亏他代码写在.c文件里兄猛神,在.c文件中包含这个头文件。
❾ C语言中为什么要头文件和源文件分开写
首先当编写单个文件时我们都念咐没是只有一个.c文件,但是真正做工程的时候,会写很多的模块,我们都知道写程序要高内聚、低耦合,这样做可简局以优化代码,方便后期维护,你说仔纳的头文件和源文件就是这样的,源文件是实现某些功能,而都文件是定义一些通用的数据结构,还有就是源文件里的函数会被其他文件调用,这就要在都文件里声明,你会看到extern function()这样的声明,就是为外部提供调用的,这就是问什么要头文件和源文件分开写的原因。
望采纳!
声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!