自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (14)
  • 收藏
  • 关注

原创 C++的学习(十一)继承

面向对象语言的核心就是继承与虚拟,首先总结一下C++中与继承有关的知识。如果你之前学过java或者其它的面向对象的语言,对继承的理解应该是很容易的。在C++中,一个类通过继承可以获得父类的所有成员,而它自己又相应的称为其父类的子类。我们也可以把父类称为基类,把子类称为派生类。     如果没有特别强调均为公有继承。     首先,我们已经知道一个类通过继承可以获得父类的所有成员。对于父

2013-10-31 20:07:24 2050

转载 解决ubuntu下arduino IDE的Serial Port无法选择问题

刚接触arduino,刚买了个arduino uno的板子(mango的兼容板 ,不得不说,质量还不错。),拿回来就开始折腾,开始在windows上折腾没有问题,近来在windows下工作越来越少,而今天开始在ubuntu上折腾,上来就碰到了一个问题。那就是arduino IDE的Serial Port无法选择,google后发现解决方案。原因就是在ubuntu下,预置安装了一个叫brltty

2013-10-31 16:30:27 15359 3

原创 ROS学习(十七)安装ARDUINO IDE使用rosserial

arduino和arduino IDE是非常好的和简单的可编程硬件工具,使用rosserial_arduino包,你可以使用arduino IDE直接使用ROS。rosserial提供了一个通信协议,它通过arduino的UART来工作。它允许arduino作为一个ROS的节点,可以直接发布和订阅ROS的消息,发布TF变换,以及获取ROS的系统时间。     如果你没有安装arduino ID

2013-10-31 15:23:17 20896 14

原创 ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)

我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和。切换目录到之前建立的beginner_tutorials包下:cd ~/catkin_ws/src/beginner_tutorials     编辑src/add_two_ints_server.cpp文件:vim src/add_two_ints_server.cpp 

2013-10-30 21:51:25 17053 13

原创 ROS的学习(十五)验证publisher和subscriber

在前面的两篇博客中我们用C++在ROS中创建了一个发布者和接收者,并使用catkin_make构建了新的节点,下面就需要验证一下,我们写的是否正确。     首先运行roscoreroscore     打开一个新的终端在里面运行talker:rosrun beginner_tutorials talker     看到的运行结果如下:[INFO] [WallTim

2013-10-30 21:01:11 7375 10

原创 ROS的学习(十四)用C++写一个简单的接收者

打开一个终端,进入到beginner_tutorials包下面:cd ~/catkin_ws/src/beginner_tutorials     编辑文件src/listener.cpp:vim src/listener.cpp     将下面的代码复制到文件中:#include "ros/ros.h"#include "std_msgs/String.h"/*

2013-10-30 20:49:26 21344 12

原创 ROS的学习(十二)用C++写一个简单的发布者

节点是一个可执行程序,它连接到了ROS的网络系统中。我们将会创建一个发布者,也就是说话者节点,它将会持续的广播一个信息。     改变目录到之前所建立的那个包下:cd ~/catkin_ws/src/beginner_tutorials     在beginner_tutorials包下面建立一个src文件夹:mkdir -p ~/catkin_ws/src/beginner_

2013-10-30 20:04:42 29797 6

原创 ROS的学习(十一)ROS的msg和srv

msg是一个描述ROS中消息的域的简单的文本文件,它用来为消息产生不同语言的源代码。     一个srv文件描述一个服务,它由两部分组成,请求和服务。     msg文件被存储在一个包的msg目录下,srv文件被存储在srv目录下。msg是简单的文本文件,它的每一行由一个与的类型和域的名字组成。你可以使用的域的类型有:int8, int16, int32, int64 (plus ui

2013-10-30 18:45:52 15979 4

原创 ROS的学习(十)rqt_console和roslaunch

打开一个新的终端在里面输入:sudo apt-get install ros-hydro-rqt ros-hydro-rqt-common-plugins ros-hydro-turtlesim安装使用rqt_console所需要的插件,如果你不知道之前是否安装,没关系,把这个命令运行一下就行了,它不会对你之前的系统有任何的伤害。在终端中运行rqt_console:rosrun r

2013-10-30 16:33:07 12640 11

原创 ROS的学习(九)理解ROS的参数

rosparam命令允许你在ROS的参数服务器上操作和存储数据,参数服务器可以存储整数,浮点数,布尔类型,字典,列表。ROS使用YAML标记语言作为语法,在简单的情况下,YAML看起来是非常自然的:1是整数,1.0是浮点数,one是字符串,true是布尔类型,[1,2,3]是一个列表,{a:b,c:d}是一个字典。我们使用rosparam list 命令可以查看参数服务器上的内容:rospar

2013-10-30 15:13:00 9876 4

转载 让ubuntu在一个窗口下打开多个终端的软件——terminator

Terminator是CrunchBang的默认终端,该终端基于GNOME terminal。Terminator最大的特点就是可以在一个屏幕下同时显示多个终端。Terminator可以在Ubuntu在同一窗口中启动多个终端。可以自由的在一个窗口中分割区域建立新终端,通过鼠标拉伸调整每个终端的大小,对同时需要操作多个终端的用户非常方便。 同时操作多个VPS的时候不用切换终端窗口,在一个窗口中就可以

2013-10-30 14:29:58 18142 1

原创 ROS的学习(八)ROS的服务

服务是节点之间通信的另一种方式,服务允许节点发起一个请求和接收一个响应。     打开终端在里面输入:roscore     另外打开一个终端在里面输入:rosrun turtlesim turtlesim_node     使用rosservice list可以查看一个节点提供的服务:rosservice list返回结果如下:/clear

2013-10-29 22:12:13 10698

原创 ROS的学习(七)ROS的话题

首先需要打开一个终端在里面运行roscore:roscore     再打开一个终端,在里面运行一个turtlesim_node节点:rosrun turtlesim turtlesim_node     打开另一个终端,在里面输入:rosrun turtlesim turtle_teleop_key在运行完这条命令后,在这个终端下,按键盘上的方向键可以看到

2013-10-29 21:31:35 22598

原创 ROS的学习(六)理解ROS的节点(NODE)

经过前面的学习,我们已经知道了如何构建一个ROS的包,这篇博客将介绍ROS中的节点的概念。     在继续之前,请按ctrl+alt+t打开一个终端,在里面输入:sudo apt-get install ros--ros-tutorials安装一个轻量级的模拟器,命令中的""需要替换为你自己的ros版本,若按照前面的教程的话,替换为hydro。     下面来看一下ROS中

2013-10-29 20:10:11 31880 12

原创 ROS的学习(五)在工作空间中构建和使用catkin包

在这篇博客中将会介绍,如何在工作空间中构建和使用一个包。     首先,我们来看一下如何在catkin工作空间中,使用catkin_make工具从源文件构建和安装一个包。使用catkin_make来构建一个catkin工作空间是非常容易的,您必须在catkin工作空间的顶层使用catkin_make命令。下面的演示了一个典型的工作流程:$ cd ~/catkin_ws/src/beginn

2013-10-28 21:11:35 19960 4

原创 ROS的学习(四)创建一个ROS包

ROS学习(三)中,笔者不知道catkin到底是个什么东东,后来终于在官方网站上找到了答案,原来catkin是ROS的一个官方的编译构建系统,是原本的ROS的编译构建系统rosbuild的后继者。catkin的来源有点复杂,我们可以慢慢的讲一下其中的渊源。ROS来源于Willow Garage这个公司,他们希望借助开源的力量,使ROS发扬光大。而在英语中,willow的意思是柳树,catkin是柳

2013-10-28 17:16:29 36571 7

原创 ubuntu下安装英汉词典——stardict

有时候需要在linux下面看一些英文资料,没有一个英汉字典真的是最痛苦的事,在windows下使用的都是有道字典。在ubuntu下使用什么词典好呢?经过我的一翻折腾,发现stardict是非常好用的,下面就介绍一下stardict的安装方法。/usr/share/stardict/dic     按ctrl+alt+t打开一个终端,在里面输入:sudo apt-get install st

2013-10-28 16:00:54 12894

原创 ROS的学习(三)创建一个工作空间

在官网上本节的题目是Creating a workspace for catkin,其中的catkin不知道是什么意思,在网上找到的结果是:(1)卡婷是一个广告公司,(2)葇荑花。这两种翻译显然都不太合适,不过不知道也没关系,影响不大。我们知道catkin是一个ROS中的工具就行了。本节的主要目的是创建一个catkin工作空间,在这个工作空间中,catkin的包可以被编译。     如果您还没

2013-10-28 15:24:48 31640 4

原创 ROS的文件系统

这篇博客介绍一下ROS的文件系统的基本概念,用户可以直接在官方网站:http://http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem去查看官方手册。     ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件。     Package是组织ROS代码的最基本单位,每一个Package都可以包括

2013-10-28 11:53:35 22166 1

原创 ubuntu更新软件源

身为在中国的ubuntu使用者,当您费劲千辛万苦安装好ubuntu,准备开始体验一下开源操作系统的魅力的时候,您会发现有很多的软件还没有安装或者是更新,这时候千万不要急着去安装或者更新,因为您还没有更新ubuntu的软件源,这样直接安装会非常的慢,慢到让人eggache。如果您先更新了软件源,一定会事半功倍。     按ctrl+alt+t打开一个新的终端,在里面输入:sudo gedit

2013-10-28 11:00:37 10070 3

原创 C++的学习(十)类和对象

终于把C++中的基础在前面的几篇博客中总结完了,可能还有一些语法还没有总结到,没关系,以后用到了再查资料就好。类是C++中的一个非常重要的概念,这是区别你使用的C++到底是面向过程还是面向对象的一个重要的标志。如果在你写的C++程序中没有使用到类,仅仅使用了C++中的几个库。那么你所使用的C++仍然是面向过程的,只有使用了类的C++程序才能说是面向对象的。当然前面的概念有些不太准确,面向对象是一种

2013-10-25 19:51:30 1169

原创 C++基础知识(八)例外、异常处理

对java熟悉的朋友们都很清楚,java中的异常处理机制是非常完善的。并且java强制使用异常处理,用户必须对有可能出现异常的情况进行处理。在c++中并没有强制用户使用异常处理,但是使用异常处理将会使您的程序更加的健壮。     在c++中,一个函数在执行的过程中可以识别异常(例外),并通告异常的发生。这种通告机制称为抛出异常,使用关键字throw。异常抛出后,可以由函数的调用者进行捕捉并进行

2013-10-25 15:34:36 1598

原创 C++基础知识(七)new和delete

学过c语言的人都知道,c语言中动态分配内存空间使用的是库函数malloc,calloc,realloc以及free。而c++中所使用的是关键字new和delete。如int* pi = new int;int* pa = new int[20];用new可以动态的分配内存空间,从上例可以看到使用很方便,比c语言中的malloc语法要简洁的多。对于上面的例子如何释放所分配的内存空间呢

2013-10-25 14:46:00 977

原创 C++基础知识(六)函数

c++中的函数和c语言中的函数相比,增加了许多新的语法与功能。在这里总结一下c++中常用的引用参数,函数重载和内联函数。     1、引用参数     说起引用参数最常用的一个例子就是交换两个数,如下:void swap(int& a,int& b){ int t = a; a = b; b = t;}void main(){

2013-10-25 14:25:26 1015

原创 C++基础知识(五)C++的一些特性

有人说,C++是由C语言往前走了一步而变成的,因为从语法角度上来看,C++就是在C的基础上自增了一。那么,C++和C语言相比,除了类(就是面向对象的那一套东西之外),基础语法增加的有哪些呢。     1、强制类型转换,C++中有四种强制类型转换,static_cast,const_cast,dynamic_cast,reinterpret_cast。          (1)static_

2013-10-25 13:25:46 1089

原创 C++基础知识(四)文件的基本操作

文件操作是各种编程语言中最基本的操作,而C++作为最为流行的编程语言之一,可以对文件进行灵活的操作,绝对能让你用起来得心应手。下面用一个例子来感受一下,C++中文件操作功能的强大。#include #include #include using namespace std;void copy(string s,string d){ //声明两个文件输入输出流 ifstrea

2013-10-25 11:56:35 1399

原创 C++基础知识(三)C++的输入和输出及操纵符

虽然在第一篇博客中已经总结了C++的基本的输入对象cin,但是感觉到有很多的东西还是没有总结到位,在此再补上一篇。我们都知道,C++对输入和输出采用的是文件流,这个和java是类似的。我们可以想象一下流的概念,数据就像流水一样,连续不断,前赴后继,感觉这个概念是很生动啊,流(stream)用的非常好。cin和cout是C++中的标准流。在这里我们着重回忆一下,流中操纵符的使用。输入和输出可以被操纵

2013-10-22 20:48:16 2148

原创 C++基础知识(二)命名空间

前面总结了C++中的键盘输入,经过一段时间的学习,终于基本上把C++的基础知识都预热了一遍。今天再做一个总结。        C++比C中多了一个命名空间,即用关键字namespace声明,为什么要使用命名空间呢。这是广大初学者都很迷惑的一个问题,其实很简单。举一个简单的例子,在信息学院有两个班级,计算机一班和计算机二班,在每一个班级中都有一个人叫做张小三。那么如果两个班级在一块上课,当老师点

2013-10-22 20:08:17 1272

原创 ROS的安装

学习ROS有两周了吧,发现网上的中文资料很少。再网上搜出来的好多ROS都是和路由器相关的一些东西,我们这里说的ROS是robot operating system,也就是机器人操作系统,所以我的学习主要是基于ROS的官网:http://wiki.ros.org。当然也有网友古月在csdn上发表了一系列关于ROS的学习博客,很有参考价值,可以在百度中搜索之,今天主要来讲述一下如何安装ROS。

2013-10-28 11:03:31 65215 74

原创 C++基础知识(一) 键盘输入

不得不说已经学过C++有两年的时间了,但是之前不论是做实验还是干活,所使用的工具都不是CPP。所以现在,基本上已经忘得差不多很可以了。现在重新开始对C++进行学习,写一些博客,对自己所学过的东西进行总结与思考。这里说的C++的基础知识是指,除过C++的面向对象那一套的所有的东西,因为这些是学习后面的面向对基础,所以称之为C++基础知识。              废话了

2013-10-21 11:02:22 4664

Accelerated C++ 英文版

英文版Accelerated C++,读起来可能比中文版更顺畅些。

2018-10-25

Accelerated C++中文版

本书全面介绍了C++语言。作为一本入门书(Primer),它以教程的形式对C++语言进行清晰的讲解,并辅以丰富的示例和各种学习辅助手段。与大多数入门教程不同,本书对C++语言本身进行了详尽的描述,并特别着重介绍了目前通行的、行之有效的程序设计技巧。

2018-10-25

Webx3 Guide Book pdf

Webx是一个在阿里巴巴集团内部广泛使用的,层次化、模块化的一个Web框架。 Webx是基于经典MVC设计模式的WEB框架,推崇页面驱动和约定胜于配置的理念。 Webx是一个基于 Spring的组件框架。组件是一个软件包,它可以被其它组件扩展,也可以扩展其它组件。利用这些特性,Webx不仅能够用来开发高度可定制的Web应用(这是它的主要功能),也能够用来帮助你开发高度可扩展的非WEB的应用。

2018-09-26

java URLConnection总结(经典易懂)

java URLConnection的总结,简单易懂,并有详细的代码作为例子,非常容易学习和模仿

2013-07-24

java URLConnection全面解析(通俗易懂,包括cookie操作和上传文件)

java URLConnection 的详细介绍,牛人项目经验的总结,绝对通俗易懂,包括cookie操作,上传文件,以及下载网页等介绍,是非常难得文档和教材

2013-07-24

javascript内置对象详解

javascript内置对象详细介绍,比如Date,winidow等对象的详细用法

2013-06-04

html学习教程

html网页制作教程 非常适合新手入门 详细描述了html的各种标签的使用

2013-06-04

eclipse的调试工具debug的使用

eclipse的调试工具debug的图文教程

2013-06-04

空空如也

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

TA关注的人

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