之前以为catkin_make 后面不能加多核/多线程,现在发现是可以的,catkin_make -jn(n为数字)命令在编译时被拆分为以下两个

make cmake_check_build_systemmake -jn

而且可以使用:

catkin_make --pkg packagename -jn
#就是编译指定包也可以使用多核/多线程

而且比使用catkin_make会快一些(有时候会快很多,取决于上面两条命令中的make -jn)

下面以catkin_make -j16为例进行演示:

meng@meng:~/ideas/ros_ws$ catkin_make -j16
Base path: /home/meng/ideas/ros_ws
Source space: /home/meng/ideas/ros_ws/src
Build space: /home/meng/ideas/ros_ws/build
Devel space: /home/meng/ideas/ros_ws/devel
Install space: /home/meng/ideas/ros_ws/install
####
#### Running command: "cmake /home/meng/ideas/ros_ws/src -DCATKIN_DEVEL_PREFIX=/home/meng/ideas/ros_ws/devel -DCMAKE_INSTALL_PREFIX=/home/meng/ideas/ros_ws/install -G Unix Makefiles" in "/home/meng/ideas/ros_ws/build"
####
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/meng/ideas/ros_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/melodic
-- This workspace overlays: /opt/ros/melodic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.17", minimum required is "2")
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/meng/ideas/ros_ws/build/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.17")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.29
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 1 packages in topological order:
-- ~~  - using_markers
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'using_markers'
-- ==> add_subdirectory(using_markers)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/meng/ideas/ros_ws/build
####
#### Running command: "make -j16" in "/home/meng/ideas/ros_ws/build"
####
Scanning dependencies of target basic_shapes
[ 50%] Building CXX object using_markers/CMakeFiles/basic_shapes.dir/src/basic_shapes.cpp.o
[100%] Linking CXX executable /home/meng/ideas/ros_ws/devel/lib/using_markers/basic_shapes
[100%] Built target basic_shapes

ros(22):catkin_make可以加多线程/多核、catkin_make -j4、catkin_make -j8、catkin_make -j12、catkin_make -j16相关推荐

  1. QtCreator与catkin命令两种方式开发ROS程序(图示加代码)

    QtCreator与catkin命令两种方式开发ROS程序(图示加代码) 一.Qt Creator安装及开发ROS 1.安装Qt Creator 2.使用Qt Creator开发ROS 1.创建工作空 ...

  2. ros中使用boost::thread多线程boost::bind绑定参数,多线程发送topic

    ros中使用boost::thread多线程boost::bind绑定参数 #include <boost/thread/thread.hpp> bool running;//虚拟墙 vo ...

  3. php多线程多核,Linux查看CPU个数/多核/多线程的查看

    在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢? 过查看,我的开发机器是1个物理CPU ...

  4. C++中的类加多线程代码修炼

    背景:现在在做一个目标跟踪的项目,需要实时的从工业相机中获取图像,然后再跟踪图像上的目标物,由于起初为了测试跟踪算法,就把"从相机获取图像"和"跟踪处理"都放在 ...

  5. java多线程 文件夹_Java多线程遍历文件夹,广度遍历加多线程加深度遍历结合

    复习IO操作,突然想写一个小工具,统计一下电脑里面的Java代码量还有注释率,最开始随手写了一个递归算法,遍历文件夹,比较简单,而且代码层次清晰,相对易于理解,代码如下:(完整代码贴在最后面,前面是功 ...

  6. C++中的类加多线程代码修炼之二

    背景:在上一篇文章中 写到了我第一次使用C++使用多个类多个线程进行编程,由于是第一接手"这么大一个工程",所以还是要有个参照物的,由于我呢之前好几年一直在看的一个C++代码工程就 ...

  7. c语言如何多核运行程序,对于多线程程序,单核cpu和多核cpu如何工作?

    1. 单核和多核CPU上多线程执行效率的探讨 a1: 多线程实际上是在单个CPU中按顺序执行的,但是系统可以帮助您切换该执行,但是它不是很快的(相反,是缓慢的) 如果有多个cpus,则可以同时在两个c ...

  8. catkin_make命令

    catkin_make是在catkin工作区中构建代码的便捷工具. catkin_make遵循catkin工作区的标准布局,如REP-128中所述. 用法 假设您的catkin工作区位于〜/ catk ...

  9. 在nano上进行catkin_make编译时卡住

    尝试了很多遍,一到build某个.o编译文件就卡住,经过很多方法排除,大概可以确定不是程序的问题,而是电脑算力的问题. 解决方法,在catkin_make后加-j2或者-j1,减少并行的线程. 或者在 ...

最新文章

  1. 视频处理单元Video Processing Unit
  2. 分布式系统的面试题11
  3. 人工智能进入新的发展阶段
  4. linux编程技术进程代码,Linux进程通信—信号量 代码实现
  5. Centos 7 搭建DNS正向解析和反向解析
  6. webflux系列--源码解析二
  7. 办学10年,进入全国前10名!这所神奇的高校,迎来10岁生日
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的在线书城购物网站
  9. 频频被关注的 AI,怎样才能用着舒心?
  10. socket read time out解决方法_深入浅出讲解:php的socket通信
  11. 15道AI 机器学习笔试题(暂时没有答案)
  12. 华硕 PRIME H410M-K + i5-10400F 黑苹果 EFI文件
  13. DB2中修改表字段类型或者长度
  14. SeaweedFS安全配置(Security Configuration)
  15. 简要概述服装设计管理
  16. 新连接?新商业 一场关于商业变革的活动正在进行
  17. 输出给定集合的所有真子集的三种方法之比较
  18. 打印信封格式怎么调计算机,打印信封,就是这么简单
  19. 「学习笔记」无标号生成树计数总结
  20. 免费PNG素材站,无需注册登录无限制下载

热门文章

  1. 关于chart/diagram/drawing/figure/graph/illustration/image/map/picture/plot的辨析
  2. CF-817D Imbalanced Array
  3. python中image什么意思_浅谈python图片处理Image和skimage的区别
  4. 与你共读ZigBee基本设备行为规范(BDB)之基本概念
  5. spring整合flex
  6. 现在的我也是曾经的我
  7. PPP协议实验及配置
  8. 网站建设--团队的重要性
  9. Java策略模式讲解以及示例
  10. 干货必备,医疗保健行业中的6种数据分析