OS 、TBB、CMake的解释

本文介绍了OS(操作系统)的基本概念,深入讲解了Intel的TBB(Thread Building Blocks)——一套用于并行编程的C++模板库,强调其提供的任务抽象、负载均衡等优势。此外,还探讨了CMake——一个跨平台的编译配置工具,用于简化不同平台的构建过程。对于OpenCV的开发者,特别指出使用CMake重新编译OpenCV的目的是获取不同配置的DLL和库文件,以便进行源码级调试,同时提到了opencv_traincascade程序利用TBB实现多核并行加速。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OS 是operating  system的缩写,也就是操作系统。

TBB,Thread Building Blocks,线程构建模块,是Intel公司开发的并行编程开发的工具。OSCON 上,Intel 宣布,Threading Building Blocks,Intel 众多软件开发工具中的一个,open source 了。协议是 GPLv2。它是一套 C++ 模板库,和直接利用 OS API 写程序的 raw thread 比,在并行编程方面提供了适当的抽象,当然还包括更多其他内容,比如 task 概念,常用算法的成熟实现,自动负载均衡特性还有不绑定 CPU 数量的灵活的可扩展性等等

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C 特性,类似UNIX下的automake“CMake”这个名字是“cross platform make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。CMake是为了解决美国国家医学图书馆出资的Visible Human Project专案下的Insight Segmentation and Registration Toolkit (ITK) 软件的跨平台建构的需求而创造出来的,其设计受到了Ken Martin开发的pcmaker所影响。pcmaker当初则是为了支援Visualization Toolkit这个开放源代码的三维图形和视觉系统才出现的,今日VTK也采用了CMake。

注意:1、使用CMake对OpenCv重新编译主要是为了得到相应的Debug版本和Release版本的DLL,Lib和相应的头文件,这样就可以在调试代码的时候进入源码内部调试执行了。如果仅仅使用OpenCv进行直接的开发,则可以直接使用OpenCV安装包内部已经编译好的Dll进行开发即可。 

    2、opencv_traincascade 程序使用TBB来处理多线程。如果希望使用多核并行运算加速,请使用TBB来编译OpenCV!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值