#include "*.c"文件的妙用

今天我在看代码的时候突然看到在一个.c文件里包括了#include "*.c"代码,这个让我非常诧异,然后google了一下。才发现是这么回事情。以下我写了一个測试代码。我相信你看完本篇文章就应该理解#include "*.c"文件的使用方法了。

測试代码例如以下:

main.c文件:

print.c文件例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

这个两个代码必须放在同一文件夹下,可是測试时编译出错误了。大家别急。以下是我更新了的main.c文件。

main.c文件:

对照上面的两个main.c文件!

測试编译并成功打印this is test!   。这里就能够看出区别了,我仅仅是更换了一下#include"print.c"  的位置。结果差距就这么大,这里我解释一下#include "*.c"的作用,事实上它就是一个文件当中不论什么部位都能够剪切出去,然后组成一个单独的.c文件。然后在原来剪切的部分加入#include
"*.c"我们保存的.c文件即可了。

我相信通过以上的代码大家也应该明确#include "*.c"的使用方法了吧!

我们知道,通过#include
"*.h"能够引用其他源文件里导出的符号。
而通过使用#include "*.c"文件能够控制要将哪些源文件编译到project中。因此,在大型的项目中,假设我们要測试不同的功能,能够为每一个功能建立一个.c类型的配置文件,在该配置文件里将须要编译的功能.c文件#include进来就OK。而不用麻烦地在每次測试不同功能时都反复的把旧的功能文件删除,再加入新的功能文件。通过控制要编译的文件。能够降低终于生成代码的代码段长度,节省存储空间。

很多程序设计人员没有丝毫的节省存储空间的概念。常常把与project无关的文件包括到project中。

时间: 2024-08-05 13:05:44

#include "*.c"文件的妙用的相关文章

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "SQL_Latin1_General_CP1_CI_AS" 之间的排序规则冲突。

什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多 这些排序规则有什么作用呢?让我们先来看看MS官方的解释: 排序规则指定了表示每个字符的位模式.它还指定了用于排序和比较字符的规则.排序规则具有下面的特征: 语言 区分大小写 区分重音 区分假名 比如在SQL Server 20

Android中View绘制优化二一---- 使用<include />标签复用布局文件

本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 译二: 使用<include />标签复用布局文件  翻译地址:http://developer.android.com/training/improving-layouts/reusing-layouts.html#Merge 尽管Android通过内置了各种各样的控件提供了微小.可复用的交互性元素,也许你需要复用较大的 组件 ---- 某些特定布局文件 .为了更有效率复用的布局文件,你可以使用<

Outlook Express 收发邮件出现&amp;quot;0x800CCC0F&amp;quot;错误代码解决方法

非常多网友在使用Outlook Express收发邮件的过程中,有时能够发送邮件,但出现不能接收信件的问题.每次在收邮件都会在某个地方停止不动,然后报超时,出现错误代码0x800CCC19或0x800CCC0F等等,无法接收邮件. 主要是因为您安装了杀毒软件或者防火墙,而且开启了“发送和接收的邮件进行扫描”选项,所以杀毒这些软件阻挡.误诊断时,或者网速不稳定时可能就会出现此类报错,会把110(POP3)接收邮件port给关闭了. 解决方法: 关闭杀毒软件电子邮件扫描监控功能: 1.在杀毒软件的‘

彻底删除&amp;quot;提示删除文件和目录&amp;quot;时出错的文件或目录

当删除文件是出现上图时  能够用以下的方法删除文件 策略一:系统大法 第一招  进程帮你搞定 很多时候乱码文件名称里的文件是explorer.exe进程联系在一起的. 假设要删除的话能够这样:首先命令行窗体,通过cd命令进入乱码名目录.按下Ctrl+Alt+Del调出任务管理器,单击"进程"选项卡,选中"explorer.exe",右键选择"结束进程",在命令提示符窗体中使用DEL命令来删除文件或目录,删除成功后,在命令提示符窗体中输入 expl

&amp;quot;未能载入文件或程序集“XXX”或它的某一个依赖项。系统找不到指定的文件&amp;quot;的解决方式

今天在写反射调用的时候失败了,经过调试和分析,终于攻克了,以下我就详细说明. 一,报错的现象 未能载入文件或程序集"DalSQL"或它的某一个依赖项.系统找不到指定的文件. 说明: 运行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的具体信息. 异常具体信息: System.IO.FileNotFoundException: 未能载入文件或程序集"DalSQL"或它的某一个依赖项. 系统找不到指定的文件. 错

11gR2 Database Services for &amp;quot;Policy&amp;quot; and &amp;quot;Administrator&amp;quot; Managed Databases (文件 ID 1481647.1)

In this Document   _afrLoop=1459311711568804&id=1481647.1&displayIndex=6&_afrWindowMode=0&_adf.ctrl-state=foyvm6hmv_102#REF_PURPOSE">Purpose   Details Applies to: Oracle Server - Enterprise Edition - Version 11.2.0.1 and later Info

extern &amp;quot;C&amp;quot; 的含义:????实现C++与C及其他语言的混合编程

C++中extern "C"的设立动机是实现C++与C及其他语言的混合编程. C++为了支持函数的重载.C++对全局函数的处理方式与C有明显的不同. 对于函数void foo( int x, int y );该函数被C编译器编译后在符号库中的名字为_foo.而C++编译器则会产生像_foo_int_int之类的名字. extern是C/C++语言中表明函数和全局变量作用范围(可见性)的keyword.该keyword告诉编译器.其声明的函数和变量能够在本模块或其他模块中使用. 通常.在

不能在主文件中用include来包含子文件

写了一个inst.c文件: /*====================================== // 函数名: inst // 功能描述: 直接插入排序 // 输入参数: x 存放待排序数据的数组 // n 数组长度 // 返回值: 无 //=======================================*/ void inst(int *x,int n) { int i,j,t; for(i = 1; i < n; i ++) /* i 表示插入次数, 共进行 n-

JSP中的include(静态包含文件)在包含html文件时,乱码问题的解决方法。

第一种办法:就是不要include html页面,改成include jsp页面 第二种办法:为被包含的html文件也在第一行添加如jsp一样的指令<%@ page lanage="java" pageEncoding="UTF-8" contentType="text/html;UTF-8" %> 第三种办法:在web.xml中通过配置来告诉web应用,所有html文件输出时都采用UTF-8的编码,配置内容如下: <jsp-c