编程语言-创建项目的时候加入其它模块代码为什么不直接包含.c而大多数人都使用包含.h呢?

问题描述

创建项目的时候加入其它模块代码为什么不直接包含.c而大多数人都使用包含.h呢?


RT

解决方案

头文件一般保函函数的声明,类、结构体定义等,函数具体实现在.c源文件中。
使用时包含头文件,把源文件加入到项目中。
这么做的好处,一个项目可能由多个源文件组成,分别编译成目标文件,再链接生成可执行文件。
如果文件没有被修改,就不会重新编译,只有你修改过的被重新编译,这样就提高了编译速度。

如果用包含把.c包含进来,就相当于都在一个文件里,编译时间会很长。

解决方案二:

其实包含h和包含c都可以。本质山h和c编译器看来都是一个东西。
之所以分为两个后缀名就是便于人来区分——什么源代码的用途是被别的程序包含,什么源代码只是程序。

解决方案三:

你完全可以把.h文件修改为.c后缀名(而不修改其中任何东西),而其它程序include这个.c文件,这是一样的。
只是你的项目中只有.c文件了,你也没法更好组织和分类文件了,给自己添麻烦。

时间: 2022-12-08

编程语言-创建项目的时候加入其它模块代码为什么不直接包含.c而大多数人都使用包含.h呢?的相关文章

InitPHP框架搭建高可用WEB应用01:创建项目

InitPHP框架是一款轻量级PHP开源框架,框架文档和下载地址:http://initphp.com 创建Hello World项目 1. 下载框架 选择最新的版本,进行下载.框架下载地址:http://initphp 2. 创建项目目录 创建项目目录,目录示意图: 1. 文件夹initphp是最新下载的initphp框架文件夹 2. conf/comm.conf.php 放置项目配置文件 3. web/controller/ 文件夹放置控制器文件 4. index.php是项目入口文件 说明

《AngularJS深度剖析与最佳实践》一1.3 创建项目

1.3 创建项目 接下来,我们要新建一个项目.传统的方式是使用Yeoman工具,它是基于Node的一个项目生成器引擎,但本书使用的是FrontJet方式,所以这里讲两个方式. 1.3.1 Yeoman 这节我们先简单讲讲Yeoman. 首先用cnpm install -g yo命令来安装它. Yeoman只是个项目生成引擎,我们还需要安装一个Angular的项目模板,可以使用cnpm install -g generator-gulp-angular@0.8.1命令.为了让后续步骤和本书的描述保

Django在Win7下的安装及创建项目hello word简明教程_python

python广受欢迎的编程语言之一,本文简述了python 的django 框架安装与开发. Django在Win7下的安装及创建项目hello word,相对而言非常简单,这里直接给出命令和代码,不懂的可以查阅相关资料. 1.安装:命令如下: pip install Django==1.6.5 2.创建项目 django-admin.py startproject web 修改 urls.py url(r'^blog/index/$','blog.views.index'), 3.创建工程:

Symfony2框架创建项目与模板设置实例详解_php实例

本文实例讲述了Symfony2框架创建项目与模板设置的方法.分享给大家供大家参考,具体如下: 环境准备与概览 习惯于在windows使用netbean编辑器并使用virtualbox虚拟centos系统, 预将nginx+php-fpm+mysql,  当然apache也是不错的选择,   使用http://symfony在windows与centos上作为开发域名. 一.下载与环境设置 1. 如何于centos上面建立开发环境不再详述, 当然也可以在windows上面建立开发环境. 2. 关于

使用symfony命令创建项目的方法_php实例

本文实例讲述了使用symfony命令创建项目的方法.分享给大家供大家参考,具体如下: 概况 这一章节描述一个Symfony项目的合理结构框架,并且用 symfony 命令初始项目结构. 介绍 在symfony里,一个项目是一个指定域名下的一组服务和有效操作,共享相同的项目模型. 在一个项目里面,应用中的操作是一组逻辑:每个应用都可以正常的独立运行,与相同项目中的其他应用互不干涉. 在多数情况中,一个项目会包含两个应用,一个负责前台显示,一个负责后台处理,使用相同的数据库.当然你也可以在一个项目中

循序渐进开发WinForm项目(4)--Winform界面模块的集成使用

随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我们每天面对的太多东西了,觉得很多都稀松平常了,即使很细微的地方,可能我们都已经形成习惯了.反过来,如果我们切换到其他领域,如IOS.android,那么开始我们可能对里面很多设计的规则不甚了解,开始可能也是一头雾水. 本篇继续上一篇<循序渐进开发WinForm项目(3)--Winform界面层的项目

vc++2010创建项目失败,无法计算xxx处的属性表达式的值

问题描述 vc++2010创建项目失败,无法计算xxx处的属性表达式的值 vc++2010创建项目失败,报错如下图,求教高手提点. 解决方案 是新建的项目的话,建议重装下vs,再不行重装下系统.

编写第一个Django app,第一部分——创建项目

编写第一个Django app,第一部分--创建项目 让我们通过例子来学习. 通过这个指导教程,我们将一步步地教你创建一个简单的投票系统. 这个系统分为两部分: 1.一个公共的页面让人们投票和查看投票结果. 2.一个管理员页面让你添加,修改和删除投票. 我们假定你已经安装了Django.你可以运行Python编译器并输入import django来测试Django是否已经安装.如果命令运行成功,没有错误,说明Django 已经安装了. 新建项目 如果你是第一次使用Django,你必须确保一些初始

word2007创建项目符号列表

  列表:单级或多级 创建只有单级的列表,或创建一个多级列表以在一个列表中显示多个列表. 创建项目符号或编号列表时,您可以执行以下任何操作: 使用方便的项目符号和编号库 使用列表的默认项目符号和编号格式,自定义列表,或从项目符号和编号库中选择其他格式. 图1 设置项目符号或编号格式 将项目符号或编号设为与列表中的文本不同的格式.例如,单击编号并更改整个列表的编号颜色,但不更改列表中的文本颜色. 图2 使用图片或符号 创建图片项目符号列表可为文档或网页添加视觉效果. 图3 创建单级项目符号或编号列