多个文件的makefile例子

本文主要是说明多个文件下,makefile的使用!

1. 假设我们有三个文件:hello.c    sum.c   sum.h

每个文件的具体的内容如下:

sum.h:

int  sum(int a,int b);

sum.c:

#include "sum.h"  //注意:因为sum.h是我们自己的一个头文件,所以要用“   ”,而不能用<  >;

int sum(int a,int b)

{

int  c = a+b;

return c

}

hello.c

#include <stdio.h>

#include "sum.h"

void main()

{

int a=3;

int b = 4;

printf("I have learning the makefile command %d days\n", sum(a,b));

}

2. 接下来是写关于makefile配置问题;

在这个上面文件所在的文件夹中新建一个名字为makefile的文件(这样我们通过make命令才能找到)

这个makefile的命令如下:(具体的格式要求可参考相应的说明)

MFL:hello.o sum.o  // 这里的.o文件是下面我们全部生成的都要放到这里

cc  -o MFL  hello.o sum.o //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错!

hello.o:hello.c   //注意这里不用加上sum.h了,虽然在hello.c中有sum.h的引用!

cc  -c hello.c  //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错!

sum.o: sum.h sum.c

cc -c sum.h sum.c    //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错!

clean:

rm MFL sum.o hello.o   //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错

3. 在当前的文件夹下运行make 命令后:

再运行:./MFL就OK了!

时间: 2024-11-05 12:16:56

多个文件的makefile例子的相关文章

Makefile例子引入

Makefile规则 target ... :prerequisites... command target就是一个目标文件,可以是object file,也可以是可以执行文件,也可以是一个标签 prerequisites就是要生成那个target所需要的文件或者目标文件 command就是make执行的命令的,任意的shell命令 target依赖于prerequisites,其生成规则定义在command中. prerequisites中如果有一个规则以上的文件比target文件要新的话,c

spring mvc(注解)上传文件的简单例子

spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少 大家可以看具体代码如下: web.xml &

jfinal初接触,一个简单的文件上传例子

写了个上传的小例子. 从jfinal官网下载jfinal-1.8_demo_for_jsp.zip 然后下载jfinal-1.8-lib.zip 按要求删掉该删除的,引入一些包,之后的项目结构: DemoConfig.java中配置路由,只留下了根路径: /** * 配置路由 */ public void configRoute(Routes me) { me.add("/", CommonController.class); //me.add("/blog", B

记一个使用Client Object Model上传文件的小例子

1. 新建一个C#的Console project. 2. 给project 添加reference: Microsoft.SharePoint.Client Microsoft.SharePoint.Runtime 3. 修改project的属性: Platform target – x64 Target framework – .NET Framework 4 4. 修改代码如下: using System; using System.IO; using System.Net; using

asp.net 文件操作小例子(创建文件夹,读,写,删)

静态生成要在虚拟目录下创建文件夹 来保存生成的页面 那么就要对文件进行操作 一.创建文件夹 using System.IO; string name = "aa"; string path = Server.MapPath("") + "\\" + name; if (Directory.Exists(path)) { Response.Write("<script>alert('文件夹已存在了!');history.go(

批量编译目录下文件的Makefile

1.多C文件生成各自可执行文件的Makefile如果一个目录下有很多C文件,且每个C文件都能生成一个独立的可执行文件,那么想全编译这些C文件并生成各作的可执行文件,在该目录下编写一个Makefile文件,就能做到时. #定义所需变量C = gccCFLAGS = -Wall -O -g -o #编译链接-oSRCS =$(wildcard *.c)OBJS =$(patsubst %.c,%,$(SRCS)).PHONY:all cleanall:$(OBJS)%:%.c        $(CC

第一个文件读写的例子

首先,我们打开VS2013,新建一个窗体应用程序如图: 需求:我们要实现这样的功能,点击文本框,然后弹出文件对话框,让我们选择文件,然后点击确定之后,读取指定文件的内容,随后我们将读取到的数据,写入文本中. 文件读写原理:前面,我们在学习文件读写原理的时候,已经知道,硬盘的数据和内存之间的关系,在磁盘中,我们将数据读取成二进制的数据,存放到byte数组中,然后在内存中,我们需要将byte数组转化为原始的文本数据. 然后看下截图的代码: 我们通过OpenFileDialog类,来创建一个对话框.通

spring mvc上传文件的简单例子总结及注意事项

1.创建maven项目         在pom.xml里面引入该依赖的jar包,pom.xm的代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven

原始的2文件的makefile错误

从来没系统的看过makefile文档,平时属于复制模板,用完即忘,下午尝试按自己的理解写一个最简单的makefile,含2个.c文件,1个.h文件,费了个把小时,参考别人的文章才弄出来,特记录. main.c: 1 #include <stdio.h> 2 #include "command.h" 3 4 int main(int argc, const char *argv[]) 5 { 6 printf("run in main\n"); 7 com