自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (3)
  • 收藏
  • 关注

转载 Ubuntu16.04 —— 系统安装 :: sudo pip install pip --upgrade报错

问题描述当sudo pip install pip --upgrade时报错:Traceback (most recent call last): File "/usr/local/bin/pip", line 7, in <module> from pip._internal.cli.main import main File "/usr/local/lib/python2.7/dist-packages/pip/_internal/cli/main.py", line 6

2021-03-23 13:55:58 855

原创 QT工具 —— Signals&Slots

0. 简介 slot是连接多个object的一种方法,很多别的框架都是使回调函数,但是QT中使用SLOT,相对与回调来说,不必考虑传入参数的类型匹配等问题。我们可以认为SLOT是一个函数,它可以被Signal激活,同时连接两个object。Qt's signals and slots mechanism ensures that if you connect a signal to a slot, the slot will be called with the signal's parameters a

2021-03-16 16:16:12 376

原创 Ubuntu —— 内存泄露 :: valgrind

home page : https://valgrind.org/

2021-03-12 15:11:42 207

原创 C++ —— 数据类型 ::const、引用与指针

1. 引用是对象的别名,分为左值引用和右值引用。1. 1 左值引用其定义方法如下:int ival=1;int &refval = ival;这样定义后,变量ival和refval指向的是同一个对象,他们都可以更改对象的值。其注意事项如下:引用必须在定义的时候被初始化,作为函数形参也属于左值引用,因为在编译链接的过程中,会给函数形参进行初始化。引用类型的初始值必须是一个对象,而不能是一个具体的值,比如这样是错误的int & a=1024;1.2 右值引用只能绑定到

2021-02-20 17:07:12 192

原创 ROS工具 —— rviz

1. 发送单个基本形状(cube, sphere, cylinder, arrow and so on)http://wiki.ros.org/rviz/Tutorials/Markers%3A%20Basic%20Shapes使用 visualization_msgs/Marker 这个msg向rviz发送物体对象。上面链接中的代码主要实现了每分钟向rviz发送一个不同形状的物体,并销毁上一个物体。2. 发送形状的集合(Points, Line Strips, and Line Lists)使

2021-02-05 15:57:20 641

转载 CMake —— CODE ::cmake生成器(二)

在CMake 2.8.3平台上,CMake支持下列生成器:Borland Makefiles: 生成Borland makefile。MSYS Makefiles: 生成MSYS makefile。生成的makefile用use /bin/sh作为它的shell。在运行CMake的机器上需要安装msys。MinGW Makefiles: 生成供mingw32-make使用的make file。生成的makefile使用cmd.exe作为它的shell。生成它们不需要msys或者unix

2021-01-27 13:36:54 219

转载 CMake —— CODE :: cmake命令选项说明(一)

本系列学习笔记来源于博客园的一位博主的文章,现将引用链接放置如下:总链接:https://www.cnblogs.com/coderfenghc/tag/cmake/本篇引用的链接:https://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.html以CMake2.8.3版本为例进行说明:文章目录1. 命令说明1.1 选项含义1.1.1 -C : 预加载一个脚本填充缓存文件1.1.2 -D :=: 创建一个CMake的缓存条目

2021-01-27 13:25:39 343

原创 Python —— GUI实现 :: wxPython

这是一篇教程学习笔记,原教程地址:https://www.yiibai.com/wxpython/wx_frame_class.html文章目录1. wx.Frame类1.1. 构造函数1.2. wx.Frame类成员函数1.3. wx.Frame 事件绑定器2. wx.Panel类2.1 构造函数2.2 API2.3. 示例3. 其他类的说明请参考教程1. wx.Frame类1.1. 构造函数其重载的构造函数Wx.Frame (parent, id, title, pos, size, style

2021-01-14 16:18:30 150

原创 C++ —— 数据类型 ::容器类

本篇文章内容总结自:http://www.cplusplus.com/reference/stl/文章目录1. std::array——固定长度的顺序容器2. std::deque——双向队列3. std::forward_list4.std::list5. std::map6. std::multimap7.std::queue8. std::priority_queue1. std::array——固定长度的顺序容器array是固定长度的,所以它不能动态扩展或收缩。template < c

2021-01-11 12:57:44 299

转载 CMake 学习【九】—— 融合动态库和静态库

在这个部分,我们将说明BUILD_SHARED_LIBS可以被用来控制add_library()的默认行为,允许控制创建没有类型声明的库(STATIC, SHARED, MODULE or OBJECT)是怎样被创建的。为了完成这项的设置,我们需要按照下面的步骤进行设置:1. 在顶层的CMakeLists.txt中添加BUILD_SHARED_LIBS为了使用户能够选择,我们使用option()option(BUILD_SHARED_LIBS "Build using shared librarie

2020-11-05 15:29:41 1845

转载 CMake 学习【八】—— 添加Dashboard支持

我们在第四步中定义了一些测试,现在为了支持dashboard,并且把测试的结果提交到dashboard中去,我们需要在顶层的CMakeLists.txt中添加CTest模块。# enable dashboard scriptinginclude(CTest)CTest会调用enable_testing(),所以我们可以从CMakelists.txt中删除enable_testing2. 在顶层目录中创建一个CTestConfig.cmake文件在文件中指定项目的名称和提交到dashboar

2020-11-05 14:33:44 221

转载 CMake 学习【七】—— 生成一个安装器

如果我们想要把自己的工程释放给别人使用,想在多个不同的平台同时提供二进制和源码包。我们将使用CPack来创建特定平台的安装器。那么我们将按照下面的方法进行构建:1. 在顶层的CMakeLists.txt的末尾添加一些代码include(InstallRequiredSystemLibraries)set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")set(CPACK_PACKAGE_VERSION_MA

2020-11-05 14:25:29 326

转载 CMake 学习【六】—— 添加自定义命令、生成文件

如果我们不想用系统自带的log和exp函数,想要自定义一个可以预先计算出来的数据对照表,供使用者在程序mysqrt中查表使用。1. 删除系统的库函数调用删除对log和exp函数的检查。在MathFunctions/CMakeLists.txt,删除下面的内容:# does this system provide the log and exp functions?include(CheckSymbolExists)check_symbol_exists(log "math.h" HAVE_L

2020-11-05 13:44:23 1090

转载 Linux学习笔记 —— shell :: 输入输出重定向

文章目录1.标准重定向2.深入讲解重定向3. Here Document4. /dev/null 文件1.标准重定向大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。重定向命令列表如下:命令说明command > file将输出重定向到 file。将输出的内容存入file1command &l

2020-11-04 16:15:58 167

转载 Linux学习笔记 —— shell :: 函数及文件包含

1. 函数定义[ function ] funname [()]{ action; [return int;]}说明:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255 #!/bin/bash# author:菜鸟教程# url:www.runoob.comfunWithReturn(){

2020-11-04 15:55:06 132

转载 Linux学习笔记 —— shell :: 流程控制

文章目录1. if else2.for 循环3. while 语句4. until 循环5.case6.跳出循环6.1 break命令6.2 continue1. if elseif condition1then command1elif condition2 then command2else commandNfi2.for 循环for var in item1 item2 ... itemNdo command1 command2

2020-11-04 15:10:33 200

转载 Linux学习笔记 —— shell :: echo & printf & test

文章目录1. echo2.printf3.test 命令1. echoecho会自动添加换行符echo "It is a test"echo It is a test#效果同上echo "\"It is a test\"" #使用转义字符来显示双引号read name #name 接收标准输入的变量echo "$name It is a test" #显示变量echo -e "OK! \n" # -e 开启转义echo -e "OK! \c" # -e 开启转义 \c 不换行echo "

2020-11-04 14:39:05 91

转载 Linux学习笔记 —— shell :: 基本运算符

文章目录1. 算数运算符2. 关系运算符3. 布尔运算符4. 逻辑运算符5. 字符串运算符6. 文件测试运算符Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。在运算的过程中需要注意:表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 +

2020-11-04 14:08:21 92

转载 Linux学习笔记 —— shell :: 传递参数

文章目录1. 简介2. 示例3. 处理参数的特殊字符3.1 使用示例3.2 $* 与 $@ 区别:3.3 $?1. 简介我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……2. 示例以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包含文件路径):#!/bin/bash# author:菜鸟教程# url:www.runoob.comecho "She

2020-11-04 11:07:40 129

转载 Linux学习笔记 —— shell ::变量&字符串&数组&注释

文章目录1. 变量1.1. 定义变量1.2. 使用变量1.3. 只读变量1.4. 删除变量1.5. 变量类型2. Shell 字符串2.1. 单引号2.2. 双引号2.3. 拼接字符串2.3.1. 使用双引号拼接2.3.2. 使用单引号拼接2.4. 获取字符串长度2.5. 提取子字符串2.6. 查找子字符串3. Shell 数组3.1. 定义数组3.2 读取数组3.3 获取数组长度的方法4. Shell 注释1. 变量1.1. 定义变量变量定义如下示例:your_name="tom"echo

2020-11-04 10:41:20 322

转载 Linux学习笔记 —— shell :: 简介

文章目录1. Shell 环境2. 运行 Shell 脚本的两种方法2.1 作为可执行程序2.2 作为解释器参数Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell

2020-11-03 17:03:39 951

转载 Linux学习笔记 —— 系统 :: yum&apt

1. yumyum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。1.1 yum 语法yum [options] [command] [package ..

2020-11-03 16:51:48 157

转载 Linux学习笔记 —— 系统 :: 磁盘管理

文章目录1. df:列出文件系统的整体磁盘使用量2. du:检查磁盘空间使用量3. fdisk:用于磁盘分区4. mkfs:磁盘格式化5. fsck:磁盘检验6. mount:磁盘挂载与卸除Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量fdisk:用于磁盘分区1. df:列出文件系统的整体磁盘使用量检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目

2020-11-03 16:23:23 80

转载 Linux学习笔记 —— 系统 :: 用户管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。实现用户账号的管理,要完成的工作主要有如下几个方面:用户账号的添加、删除与修改。用户口令的管理。用户组的管理。 1. 用户账号的管理用户账号新增后,必须设置password后才可以被使用,不然它是被锁定的。1.1 新增用户增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/g

2020-11-03 15:45:11 207

转载 Linux学习笔记 —— 系统 :: 目录管理

1. 文件路径绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。2.处理目录的常用命令接下来我们就来看几个常见的处理目录的命令吧:ls(英文全拼:list files): 列出目录及文件名 选项与参数: -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一

2020-11-03 12:51:10 65

转载 Linux学习笔记 —— 系统 ::文件基本属性

为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:chown (change ownerp) : 修改所属用户与组。chmod (change mode) : 修改用户的权限。1. 查看文件属性在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:[root@www /]# ls -ltotal 64dr-xr-

2020-11-02 17:46:59 66

转载 Linux学习笔记 —— 系统 ::系统目录结构

登录系统后,在当前命令窗口下输入命令:ls /,将看到linux系统的目录结构,其实它是树形结构:这些目录存放的内容如下:文件名内容/binbin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/devdev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同

2020-11-02 15:40:17 53

转载 Linux学习笔记 —— 系统 :: 简介

文章目录1.Linux发行版2. linux系统使用的两种方式3.系统启动方式3.1 内核引导3.2 运行init3.3 运行级别3.4 系统初始化3.5 建立终端3.6 图形模式与文字模式的切换方式3.7 Linux 关机1.Linux发行版Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。2. linux系统使用的两种方式在pc上安装linux系统租用linux服务器。例如租用的腾讯云服务器,可以在云服务器上学会linux各种命令和包管理,搭建网页博客,传小文件

2020-11-02 12:41:11 154

原创 C++ —— 数据类型 :: 数据类型转换时的内存分配

问题描述

2020-10-30 13:10:28 302

原创 Ubuntu —— 数据协议 :: protoc_wiki例子

使用在使用protoc进行编译之前需要安装protobuf-c-compiler使用下面的命令安装sudo apt install protobuf-c-compiler在protobuf文件所在的目录下,在终端输入下面命令进行编译protoc-c --c_out=. xxx.proto 即可生成xxx.pb-c.c和xxx.pb-c.h文件xxx.pb-c.c和xxx.pb-c...

2020-10-30 13:01:13 70

原创 Ubuntu —— 线程管理 :: Pthread

#include <pthread.h>#include "MQTTClient_ACU.h"#include "LS1043_client.h"#define NUM_THREADS 2char tmp_buf[50][13];//定义变量int main(int argc, char* argv[]){ pthread_t threads[NU...

2020-10-30 12:58:39 252

原创 Window —— 软件安装 :: python&pyQT&pycharm

https://www.jetbrains.com/help/pycharm/installation-guide.html#

2020-10-30 12:53:34 77

转载 Ubuntu —— 库安装 :: zlib

原文地址:https://blog.csdn.net/qq_21383435/article/details/79539034卸载——针对重装查看:yum list |grep zlib* 看到的是全部都安装好的;版本为1.2.3,现在要升级为1.2.11卸载[root@biluos1 zlib-1.2.11]# rpm –nodeps -e zlib-1.2.3-29.el6.x8...

2020-10-30 11:11:18 705

原创 Ubuntu16.04 —— 系统安装 :: 工控机安装ubuntu16.04

1. 按F12进入boot manager界面选择从USB启动盘启动。然后选择:选择要安装的系统系统开始启动:启动完成,双击安装程序2. 开始安装选择语言选择要安装的方式设置用户名密码开始安装,安装成功后重启。3. 安装完成机器现在可以正常启动了。启动时,让选择F2/F12可以不选择,等待一会儿即可正常启动。拨出系统安装盘即可。...

2020-10-23 10:35:39 1975 2

原创 Web —— JIRA:: 创建并配置Dashboard

复制Dashboard1. 进入Dashboards管理界面2. 选择合适的模板点击设置,选择copy3. 进入编辑Dashboard设置界面添加完成后的设置界面如下图所示:接下来在Dashboards里就可以看见我们刚刚copy的界面:4. 调整看板展示内容我们进入看板,调整我们的看板展示内容:4.1 调整当前gadget4.2 新增gadget那么在dashboards的顶部会出现,我们刚刚添加的gadget。点击advanced search,选择我们想要展示的项

2020-10-19 13:05:52 2910

转载 C++ —— 内存管理 :: malloc、calloc、realloc、new的区别

内存分配方式<1> 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.<2> 在栈上创建在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.<3> 从堆上分配,亦称动态内存分配.程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或dele

2020-09-15 19:32:49 97

转载 ROS杂记(一) —— 新建ROS包

catkin_create_pkg

2020-09-11 09:38:32 231

转载 ROS杂记(二) —— 创建ROS msg

1. 新建ros package1.1 创建一个空的packagecatkin_create_pkg test_msgs然后我们就有了这样一个ros包。1.2 新建msg的存放文件在包里建一个文件夹存msg。在msg/建立一个.msg文件1.3 定义msg的内容打开test.msg文件,写入自定义的msg,例如下面的内容:float32[] datafloat32 velgeometry_msgs/Pose posestring name1.4 将msg关联到ros包接

2020-09-10 17:04:39 156

转载 Linux杂记(一) —— 监控某程序是否存在内存泄露

执行某程序让程序后台执行:./xxx &启动top监控top顶层top/Tasks/Cpu(s)/Mem/Swap五行的含义如下:top: 第一行,任务队列信息,同 uptime 命令的执行结果系统时间:07:27:05运行时间:up 1:57 min,当前登录用户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据

2020-09-10 09:48:00 507

转载 Ubuntu —— 库安装 :: MySQL Workbench

安装https://cloud.tencent.com/developer/article/1184969

2020-09-09 10:11:22 227

test.bash——bash的语法例程

主要是bash语法的例程,在记录学习笔记的时候做练习用的。学习记录请参考:https://blog.csdn.net/xiaodouhao123456/article/details/109473083,及其所在专栏中的其他笔记。

2020-11-04

tutorial.zip

本代码包是从官网下载的代码包,仅为本人学习使用。官网地址如下:https://gitlab.kitware.com/cmake/cmake

2020-09-02

CPP_test.zip

测试C++中类的静态成员,成员可以是变量,也可以是结构体。其中结构体的初始化可以使用{}进行初始化。

2020-08-10

空空如也

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

TA关注的人

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