简洁架构之道_读书笔记 1.结构化编程Bohm和jocopini证明了可以使用顺序结构、分支结构、循环结构构造出任何程序goto是有害的顺序结构、分支结构和循环结构均可以证明其正确性,并且用这三种结构可以构造出任何程序。那么这就意味着可以将模块可以按功能进行降解拆分为一系列函数,而这些函数可以用结构化编程范式来写。只要这些函数是正确的,那么整个程序就是正确的。Dijstra:测试只能展示bug的存在,不能证明bug不存在结构化编程方式最有价值的地方在于它赋予了我们创造可以证伪程序单元的能力。
程序员的自我修养_读书笔记 1. 程序构建1.1 预编译1.2 编译1.3 汇编1.4 链接2. 目标文件2.1 目标文件格式2.2 目标文件内容2.3 链接的接口——符号3. 静态链接3.1 空间与地址分配3.2 符号解析与重定位3.3 COMMON 块3.4 C++相关问题3.5 静态库链接1. 可执行文件的装载与进程2. 动态链接2.1 为什么要动态链接3. 地址无关代码3.1 装载时重定位3.2 地址无关代码 PIC3.3 延迟绑定(PLT)3.4 动态链接相关结构。
U盘插在电脑上可以检测到,但是在文件管理器中不显示U盘 U盘插在电脑上可以检测到,但是在文件管理器中不显示U盘。此种情况多半是U盘驱动出了问题。右击“我的电脑”->管理->通用串行总线控制器->找到U盘对应项,右击选择“卸载设备”重新插拔U盘即可...
PCL1.9的PCLConfig.cmake文件找不到eigen等外部依赖 PCL1.9的PCLConfig.cmake文件找不到eigen等外部依赖由于需要用到PCL中on_nurbs模块做拟合,但是ros自带的pcl中没有该模块。所以源码安装了PCL 1.9,但是在使用过程中遇到了如下问题。1. 安装过程1.安装如下依赖项sudo apt-get updatesudo apt-get install git build-essential linux-li...
线性代数知识点总结 线性代数知识点总结本文秉承着“将书读薄”的思想将《线性代数》和《程序员的数学——线性代数》中的知识点进行凝练总结,以便以后时常复习。——————————————————————————————...
Effective C++ 50条款 Effective C++ 50条款条款 1:尽量用 const 和 inline 而不用#define——尽量用编译器而不用预处理#define max(a,b) ((a) > (b) ? (a) : (b))条款 2:尽量用而不用<stdio.h>条款 3:尽量用 new 和 delete 而不用 malloc 和 freemalloc 和 free(及其变...
Git命令指南 Git命令指南1. 安装Git2.创建版本库及添加文件3. git add的常用形式1. 安装Git执行以下命令进行安装sudo apt-get install git安装完成之后执行以下命令进行配置git config --global user.name "Yourname"git config --global user.email "email@example.com"2...
ICP算法 激光SLAM中的前端配准算法1.ICP算法(迭代最近点算法)1.ICP算法的求解2.数学证明1.ICP算法(迭代最近点算法)ICP(迭代最近点算法)是一种古老而又经典的点云匹配算法,其思路也很清晰。点云配准就是求解两堆点云之间的变换关系——也就是旋转关系 RRR 和平移关系 ttt。ICP算法的思路就是:找到两组点云集合中距离最近的点对,根据估计的变换关系(RRR 和 ttt)来计算距离最近...
ARCGIS中某字段递增赋值 ARCGIS中某字段递增赋值在地段计算器中使用一下代码:rec=0def autoIncrement(): global rec pStart = 1 pInterval = 1 if (rec == 0): rec = pStart else: rec = rec + pInterval return rec然后在字段里输入autoIncrement(...
最小二乘问题总结 最小二乘问题总结1.题外话2.最小二乘基础概念3.最小二乘问题的求解方法1.题外话最近在学习深蓝学院的VIO课程,最小二乘问题的求解作为基础知识,在VIO的优化过程中非常重要。因此在这里对课程内容和查阅的资料做个总结,以便能够加深对最小二乘问题的理解。2.最小二乘基础概念最小二乘法(又称最小平方法)是一种数学优化技术。它的主要思想就是求解未知参数,使得理论值与观测值之差(即误差,或者说残差...
关于位姿变换的一点体会 关于位姿变换的一点感触1.题外话2.刚体的位姿变换2.1 位姿变换的定义2.2 旋转矩阵的具体形式2.2.1 二维情况2.2.2 三维情况3.旋转方向1.题外话对于刚体的位姿变换问题,以前总觉得很简单,不就是个旋转平移嘛。可是几天手动做了的坐标变换却做了很久才做好。究其原因,还是有些问题没弄清楚。所以,今天在此写篇博客,彻底把这个过程捋一捋。2.刚体的位姿变换2.1 位姿变换的定义确实,...
C++:Lambda函数学习 C++:Lambda函数学习或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表达式的支持。在 GCC 4.7 中...
刷题:递归问题与动态规划 #include<iostream>#include<vector>using namespace std;/*************************************** * 斐波那契问题的三种解法****************************************///方法1:递归调用函数,时间复...
刷题:位运算 有关位运算的几个经典题目#include<iostream>using namespace std;// 不使用中间变量交换两个整数的值void swap(int &a, int &b){ a = a ^ b; b = a ^ b; a = a ^ b;}// 整数的二进制表达中有多少个1int number_of_one(int n)...