- 博客(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: &quot;/home/xxx/.gvfs&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
原创 使用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 "/home/xxx/src" 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
转载 用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关注的人