源地址:http://www.th7.cn/system/win/201505/103966.shtml
http://wenku.baidu.com/link?url=zH7vwmWltWF5R-9YGUDq5oSszkoWDxknBJmZkFY4w6FzV1P55h5XClOCd6UoB3tYCYjYt0ee_qw6k4GevVI82jEGcS2CdgJmqutwQWoZqJ3
http://wenku.baidu.com/link?url=aDjwQPp3YH6ns0LKJI7MIGzlLJrRSYbZrT_dA7ry6KbsnT6FKHbgBsg1FA22haFmPUY6AhJvu6N-l7xuK2nLs9lDKoO5TQGiTJ45OdH9wfe
Win7和 VS2013 上使用
Intel 的TBB
1.软件版本
Visual Studio 2013
TBB 4.3 Update 1 (tbb43_20141023oss_win.zip)
2.安装 TBB
TBB,Thread Building Blocks,线程构建模块,是Intel 公司开发的并行编程开发的工具。
TBB 可以在 Windows,Linux 和 OSX 上运行,支持 Intel, Microsoft 和 GNU 工具,这就
覆盖了绝大多数需求范围。 相对于 OpenMP 来说, TBB 不需要依赖编译指令 progma 来
编程,更易于使用。
软件安装包可以在这个网站下载:
https://www.threadingbuildingblocks.org
我下载的是 4.3 的版本,发布于 2014 年 11 月 11 日。
https://www.threadingbuildingblocks.org/sites/default/files/software_releases/window
s/tbb43_20141023oss_win.zip
将 tbb43_20141023oss_win.zip 解压缩之后就可以用,无需安装。
3.设置环境变量
这里设置了两个环境变量,一是将 TBB 的 bin 目录加入到系统 PATH 中;二是定义一
个新的环境变量 TBBROOT,这个在后续 Visual Studio 工程文件中用到。
我的 bin 目录放在: D:/ tbb43_20141023oss/bin/intel64/vc12
TBBROOT= D:/ tbb43_20141023oss
2
4.建立 Visual Studio 工程
这里用最简单的样例来说明 TBB 编程。
首先建立一个空白的工程文件。选择 Win32 Console Application。 我的工程命名为
testtbb
选择空白工程。
3
5.添加一个 c++源代码文件
鼠标右键选择工程的 Source Files,选择弹出菜单上的 Add New Item。
文件类型选择 C++ File (.cpp)文件。
6.选择 64 位工程
默认新建工程为 win32 程序,现在常用的是 x64 程序,所以手动加进去。有没有直
接新建 x64 工程的方式?知道的留个言吧。
添加过程如下:
鼠标右键点击工程,选择“ properties”,点击“ Configuration Manager”。
4
在“ Active solution platform”里选择“ New”。
选择“ Platform” ?“ x64”
5
7.设置 INCLUDE 和 LIB 路径
以编译目标 Release | x64 为例。 首先鼠标右键点击工程属性中的“ Release | x64”,
选择“ Add New Project Property Sheet”。添加一个“tbb_release_x64.props”属性文件。
编辑这个属性文件(鼠标右键?Properties),在“C/C++”?“General”?“Additional
Include Directory”里加上“$(TBBROOT)/include”
6
类似的,在“ Linker” ?“ General” ?“ Additional Library Directory”里加上
“ $(TBBROOT)/LIB/INTEL64/VC12”。
在“ Linker” ?“ Input” ?“ Additional Dependencies”里加上“ tbb.lib”。
注意这里并没有直接在工程属性文件里修改,而是添加了独立的属性文件,并利用
了 TBBROOT 这个环境变量。这样当新建其他工程时,可以直接利用这个属性文件,而
不需要再一步步设置。同样的,在 TBB 路径变化后,也不需要修改工程属性,而是修改
环境变量 TBBROOT。这样做的通用性会好一些。
同理修改一下 Debug | x64,新增一个 tbb_debug_x64.props 的属性文件。
至此整个工程建立完备。
7
8.编译运行
参照 TBB 样例程序里 Getting Start 的例子:
tbb43_20141023oss/examples/GettingStarted/sub_string_finder/sub_string_finder.cpp
写一个自己的 TBB 程序,实验一下效果吧。