首页 / 操作系统 / Linux / Linux下C/C++程序开发管理(makefile)
一、引言 从我们刚开始编写一个简单的C/C++ "Hello,World!",到将其编译、运行处结果—这部分工作IDE(集成开发环境)帮我们做了,包括语法错误检查,编译,调试,执行二进制程序。大部分时间我们只关注程序代码本身的编写,如何在Linux下对C/C++源代码的 进行有效管理,包括编译、链接、调试,make工具可以帮助我们完成这部分的工作。二、从“Hello,World”说起 1、执行单个源文件 一个编写好的C或C++代码源程序需要通过编译、链接等步骤才能生成可执行的二进制文件。 例如:源文件:hello_world.c的源码为: [1] 第一步:编译生成目标文件 hello_world.o (gcc -c hello_world.c ) [2] 第二步:链接(这里只有一个hello_world.o)生成可执行文件hello_world(gcc -o hello_world hello_world.o) 2、编译多个源文件 例如:源文件:hello_world.c say_ok.c 和main.c的源程序代码为: 需要对包含这个三个源程序文件项目生成可执行文件main [1] 生成目标对象文件(OBJ): [2] 链接生成可执行文件main:三、管理多个源程序文件 通常我们在编写项目的时候不可能只有一个源文件程序(main.c/main.cpp),一般情况下会有多个源文件(.c/.cpp)和头文件需要管理。正如前面所描述的如果有三个源文件hello_world.c, say_ok.c, main1.c,每次当我们对源码修改过后,都必须重新运行一遍所有的编译命令,试 想一 下如果文件不止三个,而是有很多个的时候......这将对程序员无疑是一个灾难。所以,我们必须寻求一个有效的的程序源码管理方式—make机制可以帮助我们解决这个问题。 1、make make命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。 2、makefile文件书写格式 目标:原料 <Tab>加工方法 3、makefile实例 4、make常用选项 [1]-B 选项: make 命令不会编译那些自从上次编译之后就没有更改的文件,但是,如果你想覆盖 make 这种默认的行为,可以使用-B选项 [2]-g选项:调试选项,用于GDB调试 [3]clean: 清除所有当前的对象文件好和执行文件 本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135044.htm