linux下用vim编写C/C++工程(多个源文件)的基本方法
来源:互联网 发布:网络运营商无服务 编辑:程序博客网 时间:2024/06/06 05:32
在我们平时写程序的过程中,用单个源文件把程序写出来的时候较少,一般都是分成多个头文件和源文件来完成的。这个时候如果我们仍想就通过vim工具来完成 我们的编译工作,那就要用到make。这里用个最简单的例子最简单地介绍写一个最简单的makefile的方法,在我们写一些很小的程序的时候可以就这 样。
这里就以两个文件的程序为例,把规则看明白后多的文件类推就可以了。
我们先用vim写好要写好的hello.h和hello.cpp:
//hello.h
#include
using namespace std;
int ABC(int m,int n)
{
int i=m+n;
cout<}
//hello.cpp
#include
#include "hello.h"
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
ABC(a,b);
}
然后写一个文件命名为Makefile或makefile,内容如下:
a:hello.o
g++ -o a hello.o
hello.o:hello.cpp hello.h
g++ -c hello.cpp
.PHONY:clean
clean:
rm a hello.o
其意思如下:
a:hello.o // 我们的目标文件是a,但a的生成依赖于hello.o
g++ -o a hello.o // 从hello.o生成a所要进行的动作
hello.o:hello.cpp hello.h // hello.o依赖于hello.cpp和hello.h
g++ -c hello.cpp // 生成hello.o所要进行的动作
.PHONY:clean // 伪目标clean
clean:
rm a hello.o // clean的动作
也就是说,我们的关键是要把目标文件、中间文件与源文件之间的依赖关系和要进行的动作写清楚。
把这几个文件在某目录下保存好以后,在这个目录下打开终端,
执行make
可以看到编译的步骤,
然后ls
如果没错误的话就可以看到目录下多了个a文件,
./a
输入两个整数,就会看到输出他们的和。
运行make clean可以清除a和hello.o
这只是最简单的例子,make是很强大很好用的工具,我们大家都相当有必要把它学好,详细的学习资料请见http://www.chinaunix.net/jh/23/408225.html。
这里就以两个文件的程序为例,把规则看明白后多的文件类推就可以了。
我们先用vim写好要写好的hello.h和hello.cpp:
//hello.h
#include
using namespace std;
int ABC(int m,int n)
{
int i=m+n;
cout<}
//hello.cpp
#include
#include "hello.h"
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
ABC(a,b);
}
然后写一个文件命名为Makefile或makefile,内容如下:
a:hello.o
g++ -o a hello.o
hello.o:hello.cpp hello.h
g++ -c hello.cpp
.PHONY:clean
clean:
rm a hello.o
其意思如下:
a:hello.o // 我们的目标文件是a,但a的生成依赖于hello.o
g++ -o a hello.o // 从hello.o生成a所要进行的动作
hello.o:hello.cpp hello.h // hello.o依赖于hello.cpp和hello.h
g++ -c hello.cpp // 生成hello.o所要进行的动作
.PHONY:clean // 伪目标clean
clean:
rm a hello.o // clean的动作
也就是说,我们的关键是要把目标文件、中间文件与源文件之间的依赖关系和要进行的动作写清楚。
把这几个文件在某目录下保存好以后,在这个目录下打开终端,
执行make
可以看到编译的步骤,
然后ls
如果没错误的话就可以看到目录下多了个a文件,
./a
输入两个整数,就会看到输出他们的和。
运行make clean可以清除a和hello.o
这只是最简单的例子,make是很强大很好用的工具,我们大家都相当有必要把它学好,详细的学习资料请见http://www.chinaunix.net/jh/23/408225.html。
0 0
- linux下用vim编写C/C++工程(多个源文件)的基本方法
- linux下用vim编写C/C++工程(多个源文件)的基本方法
- linux下用vim编写C/C++单个源程序的基本方法
- linux下用vim编写C/C++单个源程序的基本方法
- linux下用vim写基本的c程序
- linux下C工程层级目录的Makefile编写
- 怎么在linux下用vim编写一个C程序
- 怎么在linux下用vim编写一个C程序
- 在linux下用vim编写一个C程序
- linux下用vim编写C/C++单个源程序…
- 命令行模式下编译多个C/C++源文件
- 第一次使用vim在Linux下编写C语言程序
- 使用vim在Linux下编写C语言程序
- 使用vim在Linux下编写C语言程序
- Linux上机笔记(2) vim 下编写C语言
- 使用vim在linux下编写C语言代码
- 在linux下C语言源文件到可执行文件的过程
- 用vim编写C程序的常用命令
- 自定义Adapter并通过布局泵LayoutInflater抓取layout模板编辑每一个item
- leetcode Valid Palindrome
- inverse = “true” example and explanation
- EXT结合POI导出数据到Excel表格
- MyBatis学习总结(三)——优化MyBatis配置文件中的配置
- linux下用vim编写C/C++工程(多个源文件)的基本方法
- Android:都是Layout的BaselineAligned惹的祸
- js解决浏览器自动填充账号密码
- 《程序员面试金典》猫狗收容所
- gallery 各种事件监听方法详解
- UGUI之slider详解
- 集合的全排列问题-递归实现方式的改进---旋转法
- 使用SQLAzureMW进行迁移
- 使用JQUERY实现JSON数据三级联动