精华内容
下载资源
问答
  • c语言头文件和源文件
    2021-10-12 15:46:33

    对应配套的一对.c文件和.h文件,若在.c文件中定义变量,那么在.h文件中无法使用;反过来,在.h文件中定义变量,那么在.c文件中是可以使用的

    更多相关内容
  • 通俗易懂的语言来解释C语言中,头文件和源文件的关系
  • 匿名用户1级2010-09-07 回答10 在代码正确的情况下,把代码建立成头文件,即.h时无法执行程序,而若把代码建立成源文件。即.cpp时则运行成功,说是应该... 补充: 如果要编写一个程序,在无头文件的情况下,是先编写...

    匿名用户

    1级

    2010-09-07 回答

    10 在代码正确的情况下,把代码建立成头文件,即.h时无法执行程序,而若把代码建立成源文件。即.cpp时则运行成功,说是应该建立成源文件的建立成头文件了,即"h1.h",应该建立成"h1.cpp",应该是"c++ Source File",而不是"C/C++ Header File,是怎么回事?为什么? 补充: 如果要编写一个程序,在无头文件的情况下,是先编写头文件,还是先编写源文件? 满意答案Treen3级2009-02-10大家对头文件都有一定的误解

    C,C++程序,本质上只需要

    .C,.CPP文件就可以.这两个文件会被编译器编译生成模块.

    头文件其实就是一个额外的文本文件,

    #include这个预编译命令会把这个文本文件中的内容插入到这个指令的位置.

    在CPP文件中使用#include命令来包含一个头文件,相当于把头文件中的代码拷贝到CPP文件中调用该预编译指令的位置.

    之所以要用到头文件,那是因为在编译过程中,一个CPP中如果要调用或使用另外一个模块中的函数或其它符号,就必须先写这个函数或符号的声明.

    比如void funB();

    void funA(){funB();}void funB(){}funA要调用funB,你们在funA之前就必须先有funB的声明,有了这个funB的声明,无论funB的定义在哪,funA都能被编译通过了.只要链接时能在所有模块中找到这个funB,你们程序就能链接成功,执行了.

    正因为这个关系,所以我们一般为一个CPP中的所有函数都写一个声明在对应的H文件中,这样,其他CPP只要包含了这个H文件,就有了这个CPP中所有函数或符号的声明,就可以使用这个CPP中实现的函数或定义的符号了.没有头文件,程序也是完全可以的,只是你每次调用其他CPP中的函数时,都得自己在CPP中再写一遍你要调用的函数的声明.

    说的不够详细,不知道大家能否理解.

    头文件就是一个代码文本,放一些声明,让其他源代码文件来包含的.因为会被多个CPP包含,所以当你把定义放到头文件中时,如果有两个或以上地方包含了这个头文件,那么这个定义就也会有多份(因为预处理指令#include 做的是完全的代码拷贝),就会出现重复定义的错误 提问者 的感言: 谢谢! 2009-02-13其他回答(8) 热心问友 2009-02-06.h里面主要放声明,因为其他.cpp可能要引用.h,.h文件由预编译器处理,正式编译器不处理这个文件,所以里面放实现代码会出错

    比如你要编译一个程序 那么代码应该要写在.cpp的文件里,但是要用到一些数学函数之类的 那么 你就要加载一些文件,那些文件可以是 如 输入输出函数库文件 stdio.h过儿~~~6级2009-02-06头文件被包含在源文件里,要应用某个函数就要写上相应的头文件,而头文件是在源文件里的.当我们写好了一个源文件,如果愿文件有某种一般功能,我们可以保存起来,以后在写别的愿程序代码时通过些头文件,便可直接应用里面的函数了.28岁的梦7级2009-02-06你要知道头文件的用处:当你在程序调用当前没有申明的函数是,编译器会根据头文件去找那个函数。

    言外之意头文件只是给编译器提供搜索函数的地方。所以不能编译和执行了。更多回答

    展开全文
  • 在我看来,他的好处是巨大的,是java不可比拟的,也是不可复制的:c语言头文件中一般定义了函数的声明、结构体的定义、宏定义。(常量和全局变量最好放到源文件中)1) 从业务扩展性上看:头文件中放函数...

    对c&c++程序来说,基本上来说都是要把源文件和头文件分别编写。一般都是代表一个基本功能的源文件引用相应的头文件。

    一个 相关功能的模块可能有若干对源文件和头文件组成。这是基于组件编程的核心。

    在我看来,他的好处是巨大的,是java不可比拟的,也是不可复制的:

    c语言中头文件中一般定义了函数的声明、结构体的定义、宏定义。(常量和全局变量最好放到源文件中)

    1) 从业务扩展性上看:头文件中放函数的声明,函数由源文件实现,这就是将面向接口编程:接口和实现分开,这在面对业务变更频繁的需求中技术实现的好处是显而易见的--只要定义出良好地、扩展性高的接口,实现是可以很方便的更换。

    2) 从程序架构上看:代码在在大型程序中 需要分成不同的模块,单一模块中又可能分为不同的业务功能单元,他们间有很多相互的调用。

    头文件中的方法声明、结构体定义、宏就都可以充当这部分的模块与模块间、业务功能单位间的接口调用。模块与模块间,功能单元与功能单元间都是面向接口的调用,耦合性低,这正是基于组件编程的核心思想。

    3) 从某些技术角度实现上看:头文件可通过宏定义来保证类定义、结构体定义、宏定义的唯一性。确实很方便,不容易出错。

    在用makefile编译程序时,各个功能单元单独编译,构成中间文件.最终这些中间文件链接成可执行程序,在这些中间文件中重复引用同一头文件是不可避免的。但如果头文件有保护性编程就可以很容易保证类、结构体、宏定义的唯一性 ----最终链接成可执行程序时,可执行程序中代码区中只会有唯一的类、结构体、宏的定义,其他都因为不满足唯一性保护失效。这样的实现是不是很‘优雅’:)))? 我不知道你是否是这样认为,至于我,我是这样认为,haha~

    展开全文
  • 02 VSCode中头文件和源文件的使用

    千次阅读 2022-03-25 11:28:18
    头文件和源文件均在同一文件夹下: 直接在main.cpp文件中包含这两个文件: #include "func.h" #include "func.cpp" int main() { int m1=20,m2=4; cout << m1 << "+" << m2 << "=" <&...

    头文件和源文件均在同一文件夹下:
    直接在main.cpp文件中包含这两个文件:

    #include "func.h"
    #include "func.cpp"
    
    int main()
    {
        int m1=20,m2=4;
        cout << m1 << "+" << m2 << "=" << sum(m1, m2) << endl;
        return 0;
    }
    

    **错误情况:**如果在main.cpp文件中只包含头文件,系统会报错
    系统报错
    这句话的意思是:没有找到myStudent中相关类的定义,因为这个类的定义写在了源文件里面,但是main.cpp文件中却没有包含源文件(.cpp文件)
    这一点跟VS不一样。

    展开全文
  • c 中头文件和源文件的区别是什么

    千次阅读 2021-08-12 00:09:03
    区别:头文件是“.h”文件,提供接口;源文件是“.cpp”文件,提供实现。编译器规定源文件必须包含函数入口,即main函数;而头文件不得包含函数入口,头文件不可以单独编译成一个程序,仅仅包...
  • PAGE / NUMPAGES C语言头文件和源文件的关系转 简单的说其实要理解C文件与头文件即.h有什么不同之处首先需要弄明白编译器的工作过程一般说来编译器会做以下几个过程 1.预处理阶段? 2.词法与语法分析阶段? 3.编译...
  • 简单的说其实要理解C文件头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编...
  • 头文件和源文件不在一个目录下,但在导入头文件时,头文件路径只想写在当前目录下 比如:正常导入头文件应该写成 #include "../include/head.h" , 但想偷懒写成 #include "head.h" 步骤: 1、设置.vimrc文件 ...
  • C++头文件和源文件,编译过程

    万次阅读 多人点赞 2019-04-01 16:07:15
    1、系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 #include <xxx.h> 2、用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和...
  • 不过实际开发中很少这样做,一般是将函数和变量的声明放到头文件,再在当前源文件中 #include 进来。如果变量的值是固定的,最好使用宏来代替。下面的例子是改进后的代码。 main.c 源码: module.c 源码: ...
  • 书上说头文件一般只有声明,比如void func(void); 函数的定义则是在源文件中,那也就是说我新建的项目要使用以前项目中写过的一些函数(有相关头文件含有它们的声明),光靠把相关头文件#include进来是没用的喽? ...
  • 简单的说其实要理解C文件头文件(即.h)有什么不同之处
  • C++头文件和源文件的关系

    千次阅读 2018-04-05 10:24:00
    一、源文件如何根据#include来关联头文件 1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 #include &lt;xxx.h&gt; 2,用户自定义的文件用双引号括起来,编译器首先会在用户目录...
  • C语言头文件和源文件的关系

    千次阅读 2014-11-05 14:38:28
    编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位,它将一个或多个目标文件进行函数与变量的重定位,生成最终的可执行文件,在PC上...
  • C语言头文件和源文件的注意事项

    千次阅读 2019-08-03 15:34:13
    C语言头文件和源文件的注意事项 文章目录C语言头文件和源文件的注意事项0.前言1.实现步骤1.1 拆分前1.2 拆分后2.总结2.1头文件内容2.2 源文件(.c)内容2.3 函数声明和定义 0.前言 因为C语言编程或者C++语言编程...
  • 之前学习C语言浮皮潦草,基础不扎实,有很多比较基础的东西都不曾有信息去仔细了解。而之前也从来没有过多的去思考过关于一些基础性、原理性的东西。做的项目更是基于从网上down的修改物品。现在我表示愧疚,表示对...
  • c 语言头文件和源文件

    千次阅读 2016-07-24 00:40:28
    头文件和源程序h结尾的就是头文件,c结尾的就是源文件 把定义和实现分开,就可以通过头文件和源程序分开 在头文件中去定义,在源文件中去实现,然后main方法包含的时候只要包含头文件就可以了。 0:实际...
  • C语言头文件和源文件的关系

    千次阅读 2019-06-27 10:34:51
    答案 #include预处理实际上就是完成了一个“复制代码并插入”的工作!...编译器以C文件作为一个单元,开始读C文件,读到包含头文件的语句时,从所有搜索路径寻找头文件。 找到后,处理宏,变量,函数声明,检测...
  • VScode中添加头文件和源文件的方法

    千次阅读 多人点赞 2022-05-15 20:43:03
    在正常情况下,若同一文件夹下若头文件、源文件、和主要代码在同一文件夹下,则可以正常运行程序。 如图(此为Visual Studio 示例): 编译结果(无报错): 但在VScode中,同样的使用方式会...
  • C++中头文件和源文件详细介绍

    千次阅读 2021-05-24 09:54:42
    C++中的头文件和源文件详解一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的...
  • 而.h文件则被称作C++头文件,里面放的也是C++的源代码。 C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是...
  • linux下posix标准的正则表达式库,支持regcomp, regexec等,可以放到vs2010或vs2012下进行编译。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,356
精华内容 1,342
关键字:

c语言头文件和源文件