初识Boost C++
来源:互联网 发布:游戏编程视频 编辑:程序博客网 时间:2024/05/16 08:54
第一次接触到boost c++这个东西。它是一个c++的标准的库,目前已经有10个boost c++ lib被包含到了c++标准库委员会技术报告里面,有希望成为以后c++标准的一部分。
它是c++的一个准标准库,内部包含了许多C++标准的部分,主要的组成部分有字符串和文本处理,容器,迭代子(iterator),算法,函数对象和高阶编程,泛型编程,预处理元编程,并发编程,数学相关 ,纠错和测试,数据结构,输入输出,跨语言支持,内存相关,语法分析等等。这里我们主要用到数学相关,其他暂不做深入讨论。
1 下载与安装。
这个可以参考boost.org上getting started来做。
现在最新的boost.org版本是1.35.0。因为网络问题,我在国内的站点 上下了个早期的版本1.33.1,这个包是已经编译好了的。
2 测试
自己编写一个测试函数。这里只使用头文件。
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
}
gcc -I 把安装的/include子目录加入到include中 -o file source.cpp.
ps : inline function 类似于以前的宏定义,只是,在展开的时候会伴随有语法检查,这样以来可以避免频繁调用小程序,而来又可以避免宏展开不查错的弱点。
3 利用openMP来测试效果
目前的ubuntu 7.10预装的gcc版本大多为4.1. 需要手动升级。
sudo apt-get install gcc-4.2 g++-4.2 。注意装好之后,include和包文件都存放在/user/lib/gcc里面
4 测试。以下面的程序(test.cpp)作测试。
(如果要看串行的把OMP_NUM_THREADS设置为1)
#include <stdio.h>
#include <omp.h>
int main()
{
#pragma omp parallel
printf( "[%d] Hello/n ", omp_get_thread_num());
return 0;
}
编译gcc-4.2 -fopenmp -o test test.cpp
然后,在shell中输入./hello。如果双核可以看到2个hello
或者可以设置一下
$ export OMP_NUM_THREADS=8
$ ./hello
[1] Hello
[0] Hello
[3] Hello
[2] Hello
[7] Hello
[4] Hello
[6] Hello
[5] Hello
它是c++的一个准标准库,内部包含了许多C++标准的部分,主要的组成部分有字符串和文本处理,容器,迭代子(iterator),算法,函数对象和高阶编程,泛型编程,预处理元编程,并发编程,数学相关 ,纠错和测试,数据结构,输入输出,跨语言支持,内存相关,语法分析等等。这里我们主要用到数学相关,其他暂不做深入讨论。
1 下载与安装。
这个可以参考boost.org上getting started来做。
现在最新的boost.org版本是1.35.0。因为网络问题,我在国内的站点 上下了个早期的版本1.33.1,这个包是已经编译好了的。
2 测试
自己编写一个测试函数。这里只使用头文件。
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
}
gcc -I 把安装的/include子目录加入到include中 -o file source.cpp.
ps : inline function 类似于以前的宏定义,只是,在展开的时候会伴随有语法检查,这样以来可以避免频繁调用小程序,而来又可以避免宏展开不查错的弱点。
3 利用openMP来测试效果
目前的ubuntu 7.10预装的gcc版本大多为4.1. 需要手动升级。
sudo apt-get install gcc-4.2 g++-4.2 。注意装好之后,include和包文件都存放在/user/lib/gcc里面
4 测试。以下面的程序(test.cpp)作测试。
(如果要看串行的把OMP_NUM_THREADS设置为1)
#include <stdio.h>
#include <omp.h>
int main()
{
#pragma omp parallel
printf( "[%d] Hello/n ", omp_get_thread_num());
return 0;
}
编译gcc-4.2 -fopenmp -o test test.cpp
然后,在shell中输入./hello。如果双核可以看到2个hello
或者可以设置一下
$ export OMP_NUM_THREADS=8
$ ./hello
[1] Hello
[0] Hello
[3] Hello
[2] Hello
[7] Hello
[4] Hello
[6] Hello
[5] Hello
- Boost初识
- boost初识
- 初识Boost C++
- 初识 boost 与asio
- boost unordered 初识
- 初识C#
- 【C#】初识
- 初识 C#
- 【C#】初识
- C++Boost 初步了解
- C++Boost库
- C++Boost库介绍
- 【C++】boost名称含义
- 【C++】编译 boost
- C++--boost简单使用
- C++,boost智能指针
- Boost C++: 数据结构---tuple
- C++:Boost库_weak_ptr
- sql使用正则表达式替换字符中的一个字
- tcl/tk safe - 4 - 范例
- 参数修饰符ref,out ,params的区别
- 删除Office 启动画面
- 小胖子5个月了
- 初识Boost C++
- 不要被表相迷惑(sitemesh)
- 《FMOL》项目简介
- XMLHttpRequest对象和事件
- 在Windows Server 2003里面实现用命令行刷新硬件列表,以扫描硬件改动,怎么实现?
- JQuery源代码分析与应用(一)
- VS2008中JS调用后台方法
- ExtJsExtenderControl,ExtJs扩展控件
- 查找表属性