(1)前段时间,学长讲解宏的一些知识  也提起了那个多文件编译,同过看别人的博客,自己也懂了一些,现在来总结一下这个多文件编译,其实和java里面的那个class的调用好像有联系

其定义即可以理解成:就是属于不同的C语言名字下,例如helo.c  还有  hell.c  这两个文件,然后互相调用彼此的函数,这就是自己理解的多文件编译;

下面是你编写完函数后,怎么调用函数得常规做法,在C-free下面编译的

 #include<stdio.h>
#include<stdlib.h>
void func1(); //函数声明
void func2(); //函数声明
void func3(); //函数声明
int main()
{
printf("hello world!\n");
func1();
func2();
func3();
system("pause");
return ;

//函数实现
void func1()
{
printf("我是函数1\n");
}
void func2()
{
printf("我是函数2\n");
}
void func3()
{
printf("我是函数3\n");
}

这个是结果展示

这个程序所有的函数实现都在同一文件中,代码量很少,所以你能够看懂。假如代码量很多时,你会发现这样的程序调试很费力。

为了体现C语言模块化的编程思想,我们可不可以将上面3个函数func1,func2和func3的实现单独放在一个文件中呢?答案是肯定的

·······························然后方法(1)通过多文件编译的方法,来实现那个多文件编译

首先在C-free里面的菜单栏找到---- 工程,然后就点开---新建工程-----然后

选择第一个,编写好自己的工程名称,选好保存位置,点击确定

然后到了这个界面

选择第一个  后面的直接下一步就行了

然后你在菜单栏的 ---文件---那里找到---新建------但是注意把这个新建立的.c文件放在你刚刚建立的那个工程目录下面,

然后可以在建立.h文件,但是还注意,还是你把它放在你建立的工程文件夹下下面

例如编写的.h文件是,名字叫file.h

 int max(int a,int b)
{
if(a>b)
return a;
else
return b; }

然后建立一个main.c文件,

 #include<stdio.h>
#include"file.h"
int main()
{
int c= max(,);
printf("%d\n",c);
return ; }

注意在上面的头文件那里加入了#include“file.h”

这个就是简单的多文件编译

C语言-------多文件编译的更多相关文章

  1. C语言多文件编译

    fun.c #include <stdio.h> int fun1(){ printf("The first function!\n"); return 0; } in ...

  2. Ubuntu的多文件编译以及c语言的数组、函数

    闲言少叙,直接切入主题. 一.Linux下的多文件编译(Ubuntu系统). 对于小程序来说,往往一个.c文件就足够了,里面包含了各种主函数和功能函数,以及函数的声明等等.但是这样的弊端主要有两点,一 ...

  3. Linux下C语言多文件的编译以及makefile的应用

    1.关于编译和链接 一般来说,无论是C.C++,首先要把源文件编译成中间代码文件,在Windows下也就是.obj文件,UNIX下是.o文件,即Object File,这个动作叫做编译(compile ...

  4. C语言基础(15)-多文件编译

    一.头文件的使用 如果把main函数放在第一个文件中,而把自定义函数放在第二个文件中,那么就需要在第一个文件中声明函数原型.如果把函数原型包含在一个头文件里,那么就不必每次使用函数的时候都声明其原型了 ...

  5. C语言include预处理命令与多文件编译

    #include预处理命令几乎使我们在第一次接触C的时候就会碰到的预处理命令,可我现在还不怎么清楚,这次争取一次搞懂. 一.#include预处理指令的基本使用 预处理指令可以将别处的源代码内容插入到 ...

  6. C语言程序经过编译链接后形成二进制映像文件的组成

    C语言程序经过编译链接后形成二进制映像文件由栈,堆,数据段,代码段组成,其中数据段又分为:只读数据段,已经初始化读写数据段,未初始化数据段(BSS段).如下图所示: 1.栈区(stack):由编译器自 ...

  7. 窥探C语言程序的编译、链接与.h文件

    概述 C语言程序从源文件经过编译.链接生成可执行文件.那么编译与链接分别做了什么? 开发中为什么使用.h编写函数的声明?接下来使用案例说清楚为什么这样编写代码. C语言程序的编译和链接 C语言程序从源 ...

  8. 菜鸟攻略–C语言多文件编程初探(二):使用 gcc 手动编译多文件 C 程序

    step1:下载安装 Dev-C++ 已经安装了 Dev-C++ 或系统中的可以跳过这步.去官网下载 Dev-C++.我昨天下载,发现有点慢,所以我把安装文件放到百度网盘了,供大家下载,下载链接为:h ...

  9. C文件编译、链接指令

    通过mac终端 输入指令: cc -c 文件名.c 可以把C文件编译成.o文件(其实是2进制文件) 然后通过指令 cc 文件名.o 把.o文件链接C文件所需要的C语言的底层库,成为可以直接运行的lin ...

随机推荐

  1. 2015GitWebRTC编译实录12

    2015.07.20 libjingle_peerconnection 编译通过[1382/1600 ] CXX obj/talk/app /webrtc/libjingle_peerconnecti ...

  2. 以ls命令为实例介绍命令基本格式

    登陆Linux命令行会显示一行字符,例如[root@localhost  ~ ]#, 其中root表示当前登陆用户,localhost表示主机名,~显示的是当前路径,(-表示当前用户的家目录),#表示 ...

  3. 初识Winform , 还好没喜欢上控制台

    虽然没听的太懂, 不过还是写点东西吧. 我呢, 就跟着这本书写了个学生管理系统 前面刚会了SQLserver, 所以这个学生管理系统需要连上数据库, 毕竟学了不用天诛地灭 既然需要连接数据库, 就要用 ...

  4. 关于 BCSCTL1 = CALBC1_12MHZ;DCOCTL = CALDCO_12MHZ; 的疑问

    /************************************************************ * Calibration Data in Info Mem ******* ...

  5. python unicode字节串转成中文问题

    如题,其实我的问题很简单,就是在写爬虫的时候拿到网页的信息包含类似“\u65b0\u6d6a\u5fae\u535a\u6ce8\u518c”的字符串,实际上这是unicode的中文编码,对应的中文为 ...

  6. 无线路由器WDS简要

    A,B两台无线路由器,B去桥接A.在B中保持A相同的无线信道.在B中关闭DHCP.--A,B两台的SSID和无线安全设置都是独立的,无线安全可同可不同.

  7. MySQL查询今天/昨天/本周、上周、本月、上个月份数据的sql代码

    MySQL查询本周.上周.本月.上个月份数据的sql代码 作者: 字体:[增加 减小] 类型:转载 时间:2012-11-29我要评论 MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查 ...

  8. spring mvc 和 velocity整合

    java.lang.ClassNotFoundException: org.springframework.ui.velocity.VelocityEngineFactory 考虑是不是没有添加spr ...

  9. windows下用一台机器配置分布式redis(主从服务器)

    目录1.Replication的工作原理2.如何配置Redis主从复制 1.Replication的工作原理在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启 ...

  10. R中,去掉dataframe中的NA行

    R中使用complete.cases 和 na.omit来去掉包含NA的行 现在有个一data.frame  datafile如下所示 Date        sulfate nitrate ID 1 ...