一、须要用到的hw.cpp hw.h funtest.cpp funtest.h makefile 几个測试文件
1、hw.cpp代码例如以下:
#include "hw.h"#include "funtest.h"using namespace std;using namespace boost;int main(){ timer t; { int i=1; } auto i="abc"; cout<<
2、hw.h代码例如以下:
#ifndef __HW_H__#define __HW_H__#include3、funtest.cpp代码例如以下:#include #include #endif
#include "funtest.h"using namespace std;namespace funtest{testa::testa(){ cout<<"testa()"<4、funtest.h代码例如以下:
#ifndef __FUNTEST__H__#define __FUNTEST__H__#includenamespace funtest{ class testa { public: testa(); ~testa(); void testafun(); };}#endif
二、makefile的编写以及使用演示样例
1、makefile代码例如以下:
#----------------------------------------------------------#makefile helloworld測试用例#####-----------------------------------------------------------ggg=g++49exe=helloworld#全部的.o文件写在这里obj = hw.o funtest.o#所要关联的cpp文件写在这里cpp = hw.cpp funtest.cpp$(exe):$(obj) @echo "链接開始................" $(ggg) -o $(exe) $(obj)hw.o : $(cpp) @echo "编译開始................" $(ggg) -std=c++11 -c $(cpp).PHONY : clean deleteall: @echo "開始make all..........."clean: @echo "開始清理................" -rm -rf $(obj) $(exe)delete: @echo "delete.................." pwd2、用法linux简单演示样例。
[mythcpp@localhost src]$ make clean
開始清理................ rm -rf hw.o funtest.o helloworld [mythcpp@localhost src]$ make 编译開始................ g++49 -std=c++11 -c hw.cpp funtest.cpp 链接開始................ g++49 -o helloworld hw.o funtest.o [mythcpp@localhost src]$ make all 開始make all........... [mythcpp@localhost src]$ make delete delete.................. pwd /home/mythcpp/src 3、程序输出演示样例:
[mythcpp@localhost src]$ ./helloworld abc endl abcdefj 最大处理时间:2.56205e+09 h 最小处理时间:1e-06 s 逝去时间:0 s 每行须要一个tab键 testa() testa::testafun() ~testa() [mythcpp@localhost src]$
三、须要注意的几点
1、g++49是g++4.9版本号的g++
命令行演示样例:
[mythcpp@localhost src]$ ll /usr/bin/g++49 lrwxrwxrwx. 1 root root 23 May 8 05:05 /usr/bin/g++49 -> /home/gcc-4.9.0/bin/g++ [mythcpp@localhost src]$ type g++49 g++49 is /usr/bin/g++49
2、makefile以tab为间格。不要以空格開始,会报错的。
3、echo 要写在lable以下。如: $(exe):$(obj) @echo "链接開始................" $(ggg) -o $(exe) $(obj)
4、makefile文件里的all clean delete 等等伪标签能够自行实现功能命令。
这里最主要是使用make 和make clean两条命令
5、关于makefile的具体编写请百度,谷歌。此文档仅仅适用入门。