自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

转载 const修饰类的成员函数

《Effective C++》里面说,尽量使用const,const修饰变量一般有两种方式:const T a,或者 T const *a,这两者都是一样的,主要看const位于的左边还是右边,这里不再赘述,主要来看一下当const修饰类的成员函数时,成员函数有什么特点。类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个

2015-07-28 20:41:37 781

翻译 Travis CI

第一次使用Travis CI, 下面说说他的使用: 1激活GitHub的代码库    一旦使用GitHub登陆Travis CI之后,会自动从GitHub同步你的代码库.点击你右上角的账户名,进入profile就可以看到你同步过来的代码库了.只要你有管理员权限的代码库,你都可以激活这个服务,电机相应的代码库前面的标识,如下图,就可以激活了.2 在你的代码库中添加 .travis.yml文件

2015-06-14 09:36:28 1070

原创 Eigen的使用

1Eigen在ROS中的配置:    在CMakeLists.txt中必须加上:find_package(Eigen REQUIRED)...include_directories( ${catkin_INCLUDE_DIRS} ${Eigen_INCLUDE_DIRS})由于ROS Indigo中出现的变化,需要依赖cmake_modules,因此可以在下面加入:find_pack

2015-06-12 09:10:14 5669

转载 C++中Static作用和使用方法

1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量

2015-06-06 10:45:48 703

转载 继承与组合概念、区别及优缺点

1.什么是继承 A继承B,说明A是B的一种,并且B的所有行为对A都有意义 eg:A=WOMAN B=HUMAN A=鸵鸟 B=鸟 (不行),因为鸟会飞,但是鸵鸟不会。 2.什么是组合 若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。 例如眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是头(Head)的一部分,所以类Hea

2015-06-03 16:44:31 1644

转载 C++库常用函数一览(<string><cctype><algorithm><cmath><cstdlib><iomanip><numeric>)

本文中提到的函数库有: 1. 标准C++库字符串类std::string的用法 begin 得到指向字符串开头的Iterator end 得到指向字符串结尾的Iterator rbegin 得到指向反向字符串开头的Iterator rend 得到指向反向字符串结尾的Iterator size 得到字符串的大

2015-04-22 22:03:35 1135

转载 socket

功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。#include <sys/type

2015-04-13 20:47:25 632

原创 ROS之mocap_optitrack

mocap_optitrack是window下面运行的tracking tool和ROS的接口包。这个包包含三部分:在socket.cpp中是multicast的传输相关的程序;mocap_datapackets.cpp分解NatNet packages;mocap node.cpp处理坐标发布。

2015-03-31 22:19:26 1706 1

原创 MATLAB 函数使用集合

reshape 函数重新调整矩阵的行数、列数、维数。 调用: B = reshape(A,m,n) 返回一个m*n的矩阵B, B中元素是按列从A中得到的。如果A中元素个数没有m*n个, 则会引发错误。

2015-03-20 11:24:16 983

原创 文章标题Eigen的矩阵运算使用

在ROS的Cmake中使用Eigen库进行矩阵和向量的运算和很方便。下面逐步添加他的使用方法。    1 配置   首先要在CmakeLists.txt中先进行设置: 由于Eigen是ros以外的库,所以要单独的使用   find_package(Eigen REQUIRED) 同时Eigen依赖cmake_modules。所以还要   find_package(catkin REQU

2015-03-12 10:47:44 8567 1

原创 怎么使用spinOnce以一定频率发布消息

想使用ros以一定的频率发布消息到topic上。这样可以使用spinOnce来实现。方法如下:int main(int argc, char **argv){ ros::init(argc, argv, "node_name"); ros::NodeHandle n;//定义一个Publisher ros::Publisher xxx_pub = n.advertis

2015-03-11 20:45:17 1783

原创 Odroid U3简单实用

材料:odroid u3含eMMC卡(装有系统), 及uart_usb套件,网线(我是用的是有线的情况,无线的还没有看),供电线系统:电脑端使用ubuntu14.04, odroid u3也是用ubuntu14.04. (一)首先远程登陆 1, 电脑上安装uart_usb套件驱动:http://cn.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCP

2015-03-06 18:49:46 2721 1

原创 boost::filesystem::status: Permission denied: &amp;quot;/home/xxx/.gvfs&amp;quot;的解决办法

  在终端中键入命令时,按tab键时,忽然就不好使,显示:      [rospack] Warning: error while crawling /home/xxx: boost::filesystem::status: Permission denied: "/home/xxx/.gvfs"没法正常工作。解决办法:在~目录下面:~$ sudo umount /home/xxx/.gvfs~$...

2015-01-21 09:56:03 6514 5

转载 linux下C/C++,多线程pthread

·线程创建   函数原型:int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void),void *restrict arg);   返回值:若是成功建立线程返回0,否则返回错误的编号。   形式参数:pthread_t *rest

2015-01-16 20:58:07 832

转载 strcpy和memcpy的区别

strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。

2015-01-16 17:06:44 589

转载 串行通讯与并行通讯区别

1  串行通讯       一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又

2015-01-11 20:58:03 15870 2

转载 同步通信与异步通信区别

串行通信的数据是逐位传送的,发送方发送的每一位都具有特定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还要确定一个信息组的开始和结束。为此,串行通信对传送数据的格式作了严格的规定。不同的串行通信方式具有不同的数据格式。下面简单介绍一下常用的两种基本串行通信方式:同步通信和异步通信及其数据传送格式。                            

2015-01-11 20:45:25 10182 1

转载 C++类访问控制及继承

一、C++类的访问控制有三类:public,protected和private。类访问控制符类成员可被哪些对象访问public1、类的成员函数。2、类对象。3、友元。4、子类成员函数protected1、类的成员函数。2、友元。3、子类成员函数private1、类的成员函数。2、友元

2015-01-07 09:12:53 664

转载 函数调用过程探究

本文转自:http://www.cnblogs.com/bangerlee/archive/2012/05/22/2508772.html。感谢bangerlee的贡献。一,引言如何定义函数、调用函数,是每个程序员学习编程的入门课。调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其实CPU和系统内核在背后做了很多工作。下面我

2015-01-06 21:42:54 626

转载 使用chmod改变文件属性简单操作g

在此对于文件的权限不做赘述,仅简单描述chmod改变文件属性的应用,供参考:)ps:在自己实践时,最好在root或同root权限类似账户下进行,避免权限不够问题。环境为Centos  5.5  final以/root下面的install.log为例-rw-r--r-- 1 root root 34243 04-03 18:26 install.log 1.增加文件权限A

2015-01-05 11:13:25 955

转载 apt-get常用命令

一,什么的是apt-get高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软 件包,因此简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限执行,所以一般跟着sudo命令。二,apt-get中文参数用

2014-12-29 09:39:37 792

原创 安装ubuntu14.04之后无法在右上角打开system settings的解决方法

Ubuntu 13.10 及 以前的版本 system-settings 是由 gnome-control-center 提供http://packages.ubuntu.com/search?suite ... chon=namesUbuntu 14.04 及 以後的版本 system-settings 是由 unity-control-center 提供http://package

2014-11-02 11:07:37 5061

转载 Ubuntu下Sublime Text 2的安装

Sublime Text 2是一款共享软件,收费但可以永久免费试用的编辑器,价格是59个美刀,相信开发者一定不了解中国人,也不面对中国市场,。言归正传,ST2编辑功能强大,好评如潮,在Windows/Linux/Mac系统下都有对应的版本。    Linux下的安装流程如下:    1. 官网下载安装包    官网地址:http://www.sublimetext.com/2  

2014-10-23 20:02:29 630

原创 LINUX命令——持续添加

察看QT版本: qmake -v

2014-10-21 20:46:25 616

原创 使用qt时,出现error: undefined reference to。。。的原因(持续更新)

/home/congleetea/aproject/calculator-build-desktop-Qt_4_8_1_in_PATH__System__Release/moc_calculator.cpp:-1: error: undefined reference to `Calculator::inputNum()'

2014-08-12 22:54:39 14526 2

原创 使用qtcreator时出现The specified source space &quot;/home/xxx/src&quot; does not exist的错误

今天新安装了ubuntu,ros和qtcreator,进行编译时出现22:42:45: Starting: "/opt/ros/hydro/bin/catkin_make"Base path: /home/xxxThe specified source space "/home/xxx/src" does not exist22:42:46: The process "/opt/ros/hydro...

2014-07-23 22:51:10 17264 1

原创 ROS中QThread的使用(同时进行topic的订阅)

2014-06-30 22:33:06 3095 2

转载 用CMake 构建Qt 项目

译:用CMake构建Qt项目作者: Johan Thelin  译者:赖敬文原链接:http://developer.qt.nokia.com/quarterly/view/using_cmake_to_build_qt_projects翻译来源:http://blog.csdn.net/jingwenlai_scut QtSDK中已经包含了QMake用于处理跨平台的编译问题。然而

2014-06-30 15:48:41 6619

原创 ROS中的CMakeLists.txt

在ROS的编程过程中,如果CMakeLists.txt如果写不好,编译就很难成功。如果看不懂CMakeLists.txt那么很多错误你也不知道时什么回事。所以深入了解它是很右必要的。现在我们就来看看它。    我们使用cmake进行程序编译的时候,会根据CMakeLists.txt这个文件进行一步一步的处理,然后形成一个MakeFile文件,系统再通过这个文件的设置进行程序的编译。    

2014-06-29 16:36:25 16555 4

转载 造成segment fault,产生core dump的可能原因

1.内存访问越界 a) 由于使用错误的下标,导致数组访问越界 b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符 c) 使用strcpy, strcat, sprintf, strcmp, strcasecmp等字符串操作函数,将目标字符串读/写爆。应该使用strncpy, strlcpy, strncat, strlcat, snprintf,

2014-06-26 11:16:01 1043

转载 网络数据(socket)传输总结

环境限定:TCP/IP下的socket网络传输;C/C++开发语言,32/64位机。目前有两种方式对数据进行传输:1)字符流形式,即将数据用字符串表示;2)结构型方式,即将数据按类型直接传输。1)的方式保证所有的数据都是清晰的字符串明文,没有平台不一致问题,但传输的数据不定长,复合数据类型(如struct)的解析不方便。2)的方式保证数据长度固定/可控,方便对接受到数据的解析;

2014-06-21 23:30:43 2442

原创 在Ubuntu中利用bash -i -c 打开qtcreator

输入sudo,获得root权限,然后gedit /usr/share/applications/qtcreator.desktop,

2014-06-15 19:37:19 4361

转载 Linux中Socket建立配置详细信息

什么事sockSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊

2014-06-14 14:37:51 961

转载 多线程

多线程是程序员面试时常常会面对的问题,对多线程概念的掌握和理解水平,也会被一些老鸟用来衡量一个人的编程实力的重要参考指标。不论是实际工作需要还是为了应付面试,掌握多线程都是程序员职业生涯中一个必须经过的环节。其实当你把“多线程”和你的“职业生涯”联系在一起考虑的时候,就会觉得“多线程”是多么的渺小,对,没有跨越不过的山。不过就算它很渺小,但也有可能改变你的人生轨迹。不用担心,如果你对多线程还不太熟

2014-04-17 20:53:11 759

转载 C/C++结构体总结

1 #include"iostream" 2 using  namespace  std; 3  4 struct  TestStruct 5 { 6     int iNumber;7     char  charArray[10];8     char  ch;9 

2014-04-17 20:40:05 921

转载 ubuntu的截屏工具

在windows下习惯了用QQ带的截图工具截图(一般用快捷键ctr+alt+a),习惯了。现在转到ubuntu下,却没发现一个好的工具。今天无意间发现了一个名为Nanoshot的截图工具,以及一个名为mtPaint的图像编辑工具。      Nanoshot的官网地址http://nanoshot.sourceforge.net/      具体安装方法是:      sudo add

2014-04-13 17:01:51 1079 2

转载 串口 COM口 TTL RS-232 RS-485 区别 释疑

Point:1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。3、PL2303、CP2102芯片是 USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)。4、MAX232芯片是 TTL电平与R

2014-04-13 14:58:32 1816 1

原创 opencv矩阵Mat的运算——在DIP作业(图像增强)中出现的问题

本次作业是要求不用opencv中的库函数,选择两张不好的图片对其进行图像增强。我选了一张过白的image,想通过指数变换的方法对其进行图像增强。作为初级学习opencv 运用者,由于opencv没怎么编过程序,所以一开始就遇到了很多问题。1 Mat 的数据类型导致运算的错误下面是主程序:#include #include #include #include using namespace

2014-04-03 22:30:12 1274

转载 访问Mat图像中每个像素的值

今天百度搜资料还搜到了自己的。。。《访问图像中每个像素的值》,这是之前写的了,用的也是2.0的风格IplImage*格式,不太适用后来Mat的格式,特此重写一篇。以下例子源自《The OpenCV Tutorials --Release 2.4.2》2.2 How to scan images, lookup tables and time measurement with OpenCV

2014-03-27 21:33:38 827

原创 linux程序开发

C/C++语言开发环境的搭建。         不管在哪里,哪个系统下面,我们编译程序的过程都就像我们制造桌子一样,需要木头,钉子等材料,还要锤子,斧子等工具。在Linux中我们最长用的C/C++语言编译器就是GCC了。这个编译器在我们装系统的时候就已经安装上了。在GCC编译C语言的程序时,GCC只是一个编译工具。就像我们制造桌子一样。GCC就相当与是锤子,斧子这些工具。而木头,钉子这些东西就

2014-02-13 15:32:05 766

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除