<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[注意路标]]></title><description><![CDATA[技术分享、学习记录]]></description><link>https://blog.youkuaiyun.com/hellowd123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hellowd123]]></copyright><item><title><![CDATA[Shell脚本的使用]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/105203307</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/105203307</guid><author>hellowd123</author><pubDate>Mon, 30 Mar 2020 20:39:53 +0800</pubDate><description><![CDATA[基本介绍
用途：shell是一个命令行解释器，为用户提供一个向linux内核发送请求的系统及程序，用户可使用Shell执行启动、挂起和停止一些程序。


脚本格式要求：
1）脚本以#!/bin/bash开头（一般通过#进行注释）
2）脚本需要可执行权限

#!/bin/bash
echo "hello world"


常用执行方式：
1）赋予脚本+x权限，并执行脚本
2）直接通过sh指令执行。
...]]></description><category></category></item><item><title><![CDATA[Python使用小结]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/103989698</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/103989698</guid><author>hellowd123</author><pubDate>Wed, 15 Jan 2020 17:49:54 +0800</pubDate><description><![CDATA[初始化

Numpy中提供了zero(),ones(),empty()分别让在向量初始化时置为0、置为1和置为空

矩阵相乘

尽量使用np中三角函数，如np.cos(),np.sin()等等。
你需要在下面的代码里面主要到这些点：
（1）：np.dot()如果碰到的是秩为1的数组，那么执行的是对应位置的元素相乘再相加;如果遇到的是秩不为1的数组，那么执行的是矩阵相乘。但是需要注意的是矩阵与矩阵相...]]></description><category></category></item><item><title><![CDATA[Word中公式编辑的快捷键]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/103796768</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/103796768</guid><author>hellowd123</author><pubDate>Thu, 02 Jan 2020 14:04:11 +0800</pubDate><description><![CDATA[知乎上总结的已经比较完整，在此做一个整理。
1.进入公式编辑的快捷键
键入：
[alt]+[=]  

之后就可以按照微软约定的编程模式，快乐的敲代码了
2.公式编程方法
【空格】在 word 中起到了转换的作用，在公式结束后都接着空格。

基本操作：

根号
\sqrt(a)，然后敲空格 ＝ 根号a
开好多根
\sqrt(b&amp;a)， 然后敲空格 ＝ a开根号b
好多次方
a^b，然后空格...]]></description><category></category></item><item><title><![CDATA[Robotic Tools的使用与机器人建模]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/103738718</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/103738718</guid><author>hellowd123</author><pubDate>Tue, 31 Dec 2019 23:41:49 +0800</pubDate><description><![CDATA[上一篇文章介绍了matlab的基本使用和机器人工具箱提供的基本接口，本章将具体的机器人模型搭建以及过程中遇到的一些坑，其他的博文都介绍的是转动关节的模型搭建，本文将介绍直角坐标式机器人模型的搭建，即有转动关节又有移动关节。
建模

龙门焊接机器人的原图如下所示，这里使用的是武汉蓝讯的龙门式焊接机器人。

运动模型和坐标系如下图所示，所有坐标系都建在O点位置。

D-H参数表如下图所示：


Mat...]]></description><category></category></item><item><title><![CDATA[Matlab基础与机器人工具箱Robotics Toolbox的基本使用]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/103712810</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/103712810</guid><author>hellowd123</author><pubDate>Fri, 27 Dec 2019 21:29:31 +0800</pubDate><description><![CDATA[基本命令
主窗口主要需要关注的有三个部分，分别是命令行窗口、工作区和历史命令记录，直接在命令行窗口运行相关指令即可，如下图所示：

clc：清屏
log(x):x以e为底的对数
log2(x):x以2为底的对数
log10(x):x以10为底的对数
var: 查看安装了哪些工具包
mod(a,b):a对b取余
sum(v)：对v数组求和
矩阵运算

需要确保矩阵的维度是相同的

使用英文的分号表示...]]></description><category></category></item><item><title><![CDATA[fatal error RC1015: cannot open include file 'winres.h'解决方案]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/103461787</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/103461787</guid><author>hellowd123</author><pubDate>Mon, 09 Dec 2019 17:33:59 +0800</pubDate><description><![CDATA[参考
步骤： 项目——属性——配置属性——常规

改之前的版本信息如下：

然后对Windows SDK和和平台工具集两栏的版本号进行选择，选择当你VS使用的版本即可，如下图所示：

造成这种错误主要原因是：VS会默认原始开发平台的SDK和工具集，你没有安装，自然无法正常编译。


...]]></description><category></category></item><item><title><![CDATA[C++动态库和静态库的使用]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/103445362</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/103445362</guid><author>hellowd123</author><pubDate>Sun, 08 Dec 2019 15:28:24 +0800</pubDate><description><![CDATA[1. 引言
动态库和静态库是常用的C++函数内部封装方式，有必要对其有一个深入的了解。
2. 动态库与静态库的概念
C++程序编译分** 预编译**  -&gt; 编译 -&gt;汇编 -&gt;链接这几部组成，其中链接时做的就是将目标文件与所需的附加目标文件链接，生成可执行文件。动态与静态的区别主要就在于库链接时候的状态，具体差别如下：

静态库： 在链接的时候，会和汇编文件一起打包生成一个可执...]]></description><category></category></item><item><title><![CDATA[C++11常用功能]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/99968194</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/99968194</guid><author>hellowd123</author><pubDate>Wed, 21 Aug 2019 18:49:11 +0800</pubDate><description><![CDATA[智能指针

使用new和malloc申请的内存空间，没有被释放会造成内存泄漏，为了一劳永逸，提出了智能指针，自动回收内存。
智能指针将一个计数器与对象相关联，引用计数器跟踪该类有多少个对象共享同一个指针，计数器初始化为1，当减少至0的时候就删除指针。

常用指针简介

auto_ptr:不支持复制（拷贝构造）和赋值（=），但是赋值时却不会报错，有很多问题。
unique_ptr：在赋值和复制时会报...]]></description><category></category></item><item><title><![CDATA[C++内存分配]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/99940607</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/99940607</guid><author>hellowd123</author><pubDate>Wed, 21 Aug 2019 14:20:53 +0800</pubDate><description><![CDATA[内存的分配方式

静态分配：程序在编译与链接的时候分配的固定存储空间的方式。效率相对较高。
动态分配：在程序的运行期间根据需要动态的分布存储空间，C语言中使用malloc、calloc、free进行分配和释放。C++使用new和delete来分配和释放。
malloc申请的内存位于堆当中，后面还需要使用memset初始化这部分内存空间。
alloca是向栈申请内存，无需释放。
free释放上述申请...]]></description><category></category></item><item><title><![CDATA[常用设计模式与六原则详解]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/99827559</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/99827559</guid><author>hellowd123</author><pubDate>Tue, 20 Aug 2019 17:53:26 +0800</pubDate><description><![CDATA[设计模式六大原则
参考链接
1.单一职责

最简单的面向对象设计原则，用于控制类的颗粒大小。
一个类只负责一个功能领域中的相应职责，或者可以定义为：就一个类而言，应该只有一个引起它变化的原因。
单一职责原则是实现高内聚、低耦合的指导方针，它是最简单但又最难运用的原则。

2.开闭原则

面向对象的可复用设计的基石，是最重要的面向对象的设计原则，也是面向对象的目标。
一个软件实体应该对拓展开放，对修...]]></description><category></category></item><item><title><![CDATA[位运算实现加减乘除]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/99710759</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/99710759</guid><author>hellowd123</author><pubDate>Tue, 20 Aug 2019 10:53:45 +0800</pubDate><description><![CDATA[位运算符简介
^: 按位异或；&amp;：按位与； | ：按位或

]]></description><category></category></item><item><title><![CDATA[二叉树的详解与实现]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/99692395</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/99692395</guid><author>hellowd123</author><pubDate>Sun, 18 Aug 2019 22:40:30 +0800</pubDate><description><![CDATA[简介

二叉树的相关概念，如，树高度，节点层数，节点度数，路径，叶节点，分支节点，根节点，父节点，左节点，右节点，兄弟节点，祖先节点，子孙节点，左子树，右子树等基本概念，不再赘述。

二叉树分类
1、完全二叉树

若设二叉树的高度为h，除第 h 层外，其它各层 (1～h-1) 的结点数都达到最大个数，第h层有叶子结点，并且叶子结点都是从左到右依次排布，这就是完全二叉树。
一维数组可以作为完全二叉树...]]></description><category></category></item><item><title><![CDATA[DFS(华为数独题解）]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/98507716</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/98507716</guid><author>hellowd123</author><pubDate>Mon, 05 Aug 2019 18:45:48 +0800</pubDate><description><![CDATA[实际数独可能会解出多组，所以只能通过50%案例。

//华为数独题目
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;unordered_map&gt;
using namespace std;
vector&lt;vector&lt;int&gt;&gt; ch...]]></description><category></category></item><item><title><![CDATA[华为笔试刷题]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/98110827</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/98110827</guid><author>hellowd123</author><pubDate>Thu, 01 Aug 2019 22:55:04 +0800</pubDate><description><![CDATA[1、查成绩
老师想知道从某某同学当中，分数最高的是多少，现在请你编程模拟老师的询问。当然，老师有时候需要更新某位同学的成绩.
我的解法：
#include&lt;iostream&gt;
#include&lt;vector&gt;
#include&lt;algorithm&gt;
 
using namespace std;
int main(){
    //N表示学生的数目，M表示操作的数...]]></description><category></category></item><item><title><![CDATA[C++技巧总结]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/98031369</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/98031369</guid><author>hellowd123</author><pubDate>Thu, 01 Aug 2019 21:51:16 +0800</pubDate><description><![CDATA[字符串分割
字符串截取
0、find函数
find函数
原型：
size_t find ( const string&amp; str, size_t pos = 0 ) const;

功能：查找子字符串第一次出现的位置。
参数说明：str为子字符串，pos为初始查找位置。
返回值：找到的话返回第一次出现的位置，否则返回string::npos
1、使用std::string::substr()...]]></description><category></category></item><item><title><![CDATA[Linux中GDB的使用(转载)]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/97243139</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/97243139</guid><author>hellowd123</author><pubDate>Thu, 25 Jul 2019 10:47:15 +0800</pubDate><description><![CDATA[GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具，GDB主要可帮助工程师完成下面4个方面的功能：
1、 启动程序，可以按照工程师自定义的要求随心所欲的运行程序。
2、让被调试的程序在工程师指定的断点处停住，断点可以是条件表达式。
3、当程序被停住时，可以检查此时程序中所发生的事，并追索上文。
4、动态地改变程序的执行环境。
5、不管是调试Linux内核空间的驱动还是调试用户空间的应...]]></description><category></category></item><item><title><![CDATA[Windows权限设置]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/94339071</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/94339071</guid><author>hellowd123</author><pubDate>Sun, 21 Jul 2019 14:54:46 +0800</pubDate><description><![CDATA[背景介绍
Win10家庭版取消用户组的权限相关管理功能，所以，只有通过  右键  -&gt; 属性  -&gt; 安全 -&gt;  编辑，几个操作来修改对应文件夹的用户组权限，如下图所示：

如果当前的用户组具备完全控制、修改等足够的权限则能够对当前的各组的权限进行配置，如下图，则权限能够配置成功。

但如果当前的默认组的权限不够大，则会出现访问被拒绝的提示，权限修改将会不成功。如下图将SYST...]]></description><category></category></item><item><title><![CDATA[Linux进程间通信]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/96700563</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/96700563</guid><author>hellowd123</author><pubDate>Sun, 21 Jul 2019 14:43:19 +0800</pubDate><description><![CDATA[引言

进程间除了可以使用 fork和exec传送打开的文件，也可以使用IPC（Inter Processing Communication）的方式通信。
经典的IPC包括：管道、FIFO、消息队列、信号量、以及共享存储。
在新的程序中要尽可能的避免使用消息队列和信号量，应该考虑全双工管道和记录锁，他们使用会更加的简单。共享存储依然有它的用途，虽然使用mmap函数也能提供同样的功能。

管道

管...]]></description><category></category></item><item><title><![CDATA[Linux线程间同步]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/96601939</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/96601939</guid><author>hellowd123</author><pubDate>Sat, 20 Jul 2019 18:16:53 +0800</pubDate><description><![CDATA[前言

一般的增量操作流程如下：
1、从内存读取寄存器。
2、在寄存器对变量进行增量操作。
3、把新的值写到内存单元。
如果两个线程在同一时间，对同一变量做增量操作，而不进行同步的话，结果可能会出现不一致，可能会增加1，也可能会增加2。
如果是原子操作就不存在上述的竞争，数据总是顺序一致出现。

锁（互斥量）

pthread互斥量mutex可以在访问共享资源前对互斥量加锁，访问完之后释放互斥量。...]]></description><category></category></item><item><title><![CDATA[不同编译器下的各个数据类型的字节长度]]></title><link>https://blog.youkuaiyun.com/hellowd123/article/details/96477653</link><guid>https://blog.youkuaiyun.com/hellowd123/article/details/96477653</guid><author>hellowd123</author><pubDate>Fri, 19 Jul 2019 11:42:16 +0800</pubDate><description><![CDATA[各个数据类型比较


16位编译器
char ：1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int：  2个字节
unsigned int : 2个字节
float:  4个字节
double:   8个字节
long:   4个字节
long long:  8个字节
unsigned long:  4个字节


32位编译器
char ：1个字节
char*...]]></description><category></category></item></channel></rss>