1.downlaod boost.zip
2.unzip xx.zip
3.upload to linux
4.chmod a+x bootstrap.sh
5../bootstrap.sh 如出現其他許可權不夠情況,請依次更改
6.wait for some secondes
7.copy boost/boost to /usr/include/boost
8.copy boost/stages/libs to /usr/local/lib/boost
9.upload cpp,編譯
g++ -o boost xx.cpp
10.運行:
./boost
cpp 如下:
// testBoost.cpp : 定義控制台應用程式的進入點。////#include "stdafx.h"#include <stdio.h>//#include <boost/pool/pool.hpp>//#include <boost/pool/object_pool.hpp>//#include <boost/container/vector.hpp>//#include <boost/ptr_container/ptr_vector.hpp>//#include <boost/container/string.hpp>//#include <boost/container/deque.hpp>//#include <boost/container/stable_vector.hpp>//#include <boost/container/map.hpp>#include <boost/container/list.hpp>//#include <boost/container/set.hpp>//using namespace boost;using namespace boost::container;//#define CRTDBG_MAP_ALLOC //#include <stdlib.h>//#include <crtdbg.h>struct MyMem{public:MyMem(){a = 0;b = 0;}void Set(int a,char b){this->a = a;this->b = b;}void Init(){a = 0;b = 0;}void print(){printf("%d,%d\n",a,b);}private:int a;char b;};typedef object_pool<MyMem> _pool;int _tmain(int argc, _TCHAR* argv[]){////c//MyMem * p2 = (MyMem*)malloc(sizeof(MyMem)+1);//p2->Init();//p2->print();//free(p2);////c++//MyMem * p1 = new MyMem();//p1->print();//delete p1;//p1 = NULL;////pool//pool<> _basePool(sizeof(MyMem));//MyMem * p = (MyMem*)_basePool.malloc();//p = new(p)MyMem();//p->print();//_basePool.free(p);////object_pool//_pool mypool;//void * obj = mypool.malloc();//MyMem* myMem = new(obj)MyMem();//myMem->print();//mypool.free(myMem);////////_CrtDumpMemoryLeaks();//vector//vector<MyMem> _v1;//for (int i=0;i<3;i++)//{//MyMem tmp;//tmp.Set(i+10,i);//_v1.push_back(tmp);//}//for (int i=0;i<4;i++)//{//_v1[i].print();//}//for (int i=0;i<3;i++)//{//MyMem tmp;//tmp.Set(i+10,i);////_v1.insert(_v1.begin(),tmp);////_v1.insert(_v1.end()-1,tmp);//}//for (vector<MyMem>::iterator it = _v1.begin();it!=_v1.end();++it)//{//it->print();//}//vector<MyMem*> _v2;//for (int i=0;i<3;i++)//{//MyMem * p = new MyMem();//p->Set(i+10,i);//_v2.push_back(p);//}//for (vector<MyMem*>::iterator it = _v2.begin();it!=_v2.end();++it)//{//((MyMem*)(*it))->print();//}//ptr_vector//ptr_vector<MyMem> _v3;////MyMem * p = new MyMem();////p->Set(10,1);//_v3.push_back(new MyMem());//_v3[0].print();//string//string x = "123";//printf(x.c_str());//deque//deque<MyMem> _v4;//for (int i=0;i<3;i++)//{//MyMem p;//p.Set(i+10,i);//_v4.push_back(p);//}////for (int i=0;i<3;i++)////{////_v4[i].print();////}//_v4.pop_back();//for (deque<MyMem>::iterator it = _v4.begin();it!=_v4.end();++it)//{//it->print();//}//stable_vector//stable_vector<MyMem> _v5;//MyMem p;//_v5.push_back(p);//_v5[0].print();////map////map<int,MyMem> _v6;//MyMem p;//p.Set(10,1);//_v6.insert(map<int,MyMem>::value_type(1,p));//for (int i=0;i<3;i++)//{//_v6[i];//.print();//}//printf("map size=%d\n",_v6.size());//warning:map ptr is not fix [] operator//map<int,MyMem*> _v7;//MyMem * p = new MyMem();//p->Set(10,1);//_v7.insert(map<int,MyMem*>::value_type(1,p));//for (int i=0;i<3;i++)//{//_v7[i]->print();//}//printf("map size=%d\n",_v7.size());//listlist<MyMem> _v8;_v8.push_back(MyMem());MyMem x = _v8.front();x.print();printf("123\n");getchar();return 0;}