自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (9)
  • 收藏
  • 关注

原创 机器学习(一)—— 简介

参考书籍《机器学习和深度学习:原理、算法、实战》

2024-01-18 18:28:18 550 2

原创 最优化建模、算法与理论(四)—— 最优性理论

1 最优化问题解的存在性1.1 Weierstrass 定理1.2 强拟凸函数1.3 唯一性定理2 无约束可微问题的最优性理论2.1 一阶最优性条件2.2 二阶最优性条件3 无约束不可微问题的最优性理论3.1 凸优化问题一阶充要条件3.2 复合优化问题的一阶必要条件4 对偶理论4.1 拉格朗日函数与对偶问题

2022-10-09 14:26:01 1711 1

原创 最优化建模、算法与理论(三)—— 优化建模

1 建模设计1.1 目标函数的设计1.2 约束设计2 建模技巧2.1 监督学习2.1.1 回归2.1.2 分类2.2 概率图模型2.3 相位恢复2.4 主成分分析2.5 矩阵分离问题2.6 字典学习2.7 K-均值聚类2.8 图像处理中的全变差(TV)模型2.9 小波模型2.10 强化学习...

2022-08-26 10:25:02 1173

原创 深入理解计算机系统(九) ——系统级I/O / Unix下的文件操作

1 打开和关闭文件 2 读和写文件 3 读取文件信息(元数据) 4 共享文件 5 标准I/O

2022-07-18 18:05:33 285

原创 最优化建模、算法与理论(二)—— 典型优化问题

1 线性规划 2 最小二乘问题 3 复合优化问题 4 随机优化问题 5 半定规划 6 矩阵优化 7 整数优化 附录 常用软件包、库或软件

2022-06-25 17:28:03 1361

原创 最优化建模、算法与理论(一)—— 基础知识

1 最优化 2 最优化问题的分类 3 数学基础 3.1 范数 3.2 凸函数

2022-06-25 15:50:59 1747 1

原创 深入理解计算机系统(八) ——虚拟存储器

虚拟存储器1 基本概念1.1 寻址1.2 地址空间1.3 虚拟存储器1.4 页与页表1.5 缓存2 虚拟存储器的作用3 地址翻译4 存储器映射 / 共享内存6 动态存储器分配 / 堆

2022-06-15 16:08:51 906

原创 深入理解计算机系统(七) —— 测量程序执行时间

参考书籍《深入理解计算机系统》1.通过间隔计数来测量时间2.周期计数器(高精度测量)3.基于gettimeofday函数的测量(一般测量看这个)

2022-06-08 11:06:23 218

原创 深入理解计算机系统(六) —— 异常控制流

参考书籍《深入理解计算机系统》文章目录1 异常1.1 基本概念1 异常:异常处理、异常类别、创建子进程、回收子进程2 进程:调度、上下文切换、3 信号:发送信号、接收信号、信号处理

2022-05-20 12:24:49 489

原创 深入理解计算机系统(五) —— 链接

参考书籍《深入理解计算机系统》程序的编译过程见文章目录1 基础概念21 基础概念链接:将不同部分的代码和数据收集和组合成为一个单一文件的过程,链接可以执行于编译时(即将源代码翻译成机器代码时)、加载时(即程序被加载器加载到存器器并执行时)和运行时(由应用程序来加载),现代系统中链接是由链接器自动执行;链接器:它是一个程序,在软件开发中因为链接器的存在使得分离编译成为了可能,理解链接器有如下好处:1.理解链接器如何解析引用有助于解决由于缺少模块、缺少库或者不兼容的库版本引起链接错误,有利于帮助程

2022-05-13 11:52:42 669

原创 深入理解计算机系统(四) ——优化程序性能 / 程序编译过程

参考书籍《深入理解计算机系统》文章目录1 高效程序的基础2 优化编译器的能力和局限性3 程序优化的方法4 程序性能剖析工具1 高效程序的基础数据结构和算法:比如hash_map的查找效率会高于map;1加到100用公式(1 + 100)* 50的效率高于循环累加源代码能够被编译器有效优化成高效可执行代码:对于这一点需要理解优化编译器的能力与局限性,C的一些特性——比如执行指针运算和强制类型转换等——使得优化很困难2 优化编译器的能力和局限性编译优化:编译优化会更改代码的,在优化中,有不同

2022-04-21 19:24:04 1028

原创 深入理解计算机系统(三) —— 程序的机器级表示

参考书籍《深入理解计算机系统》文章目录1 基本概念2 数据格式3 指令4 寄存器的使用惯例5 存储器的越界引用和缓冲区溢出6 浮点代码和浮点寄存器附录 — linux下,利用gcc生成汇编代码1 基本概念可执行代码文件:即我们常说的程序,为二进制格式,无法直接阅读汇编代码文件:常见后缀为.s,非常接近于计算机执行的实际机器代码,是可阅读的文本格式机器指令:是CPU能直接识别并执行的指令,只执行非常基本的操作,比如将两个存放在寄存器种的数字相加、在存储寄存器之间传递数据等CPU包含以下寄存器:

2022-03-17 19:17:40 683

原创 深入理解计算机系统(二) —— 信息表示与处理

参考书籍《深入理解计算机系统》文章目录1 信息存储基本概念1 信息存储基本概念存储单位:大多数计算机使用8位(bit)的块 [ 称之位字节(byte)] 作为最小的可寻址存储器单位;地址:机器级程序(常说的用户进程)讲存储器视为非常大的字节数组(称为虚拟存储器),存储器的每个字节都由一个唯一的数字来标识,称之为地址,所有可能地址的集合就是虚拟地址空间;...

2022-03-11 19:11:16 835 1

原创 深入理解计算机系统(一) —— 计算机系统的硬件组成

总线:贯穿系统的电子管道,作用是携带信息字节并负责在各个部件传递。通常总线被设计成传送定长的字节块。不同系统字节数(字长)不尽相同。I/O设备:系统与外界的联系通道,如图中的键盘、鼠标、显示器和磁盘都是I/O设备,每个I/O设备都通过一个控制器或适配器与I/O总线连接。主存(主存储器):是一个临时存储设备,在处理器执行程序时被用来存放程序和数据。物理上主存由一组DRAM(动态随机存取存储器)芯片组成;逻辑上主存是一个线性的字节数组,每个字节都有唯一地址,这些地址从零开始。处理器(CPU):解释(或..

2022-02-16 18:29:11 523

原创 ubuntu18.04源码编译安装ros2

本教程为源码编译安装方式,发现了一个中文教程,结合实际改动优化一下文章目录1 下载源码过慢或失败2 rosdep安装依赖项3 colcon命令找不到1 下载源码过慢或失败说明:前面没啥问题,到创建工作空间并进行下载源码下图这两步,改一下修改步骤1.先去官网ROS2界面,下载ros2.repos2.执行gedit ros2.repos,打开文件,把里面的https://github.com替换成https://github.com.cnpmjs.org3.执行vcs import src &

2021-11-23 16:29:04 1638 1

原创 ubuntu18.04命令安装ros2

ROS官方文档

2021-11-19 17:27:05 3499 4

原创 ROS基本操作(一):发布与订阅

ROS官网教程文章目录1 创建ROS工作空间2 创建ROS软件包3 一个发布/订阅示例4 构建节点5 运行示例1 创建ROS工作空间创建ROS工作空间:$ mkdir -p ~/your_dir/src$ cd ~/your_dir/$ catkin_make创建成功:$ /work/ros$ ls -a. .. build .catkin_workspace devel src将当前工作空间设置在环境的最顶层:echo "source /home/you/you

2021-09-23 15:13:38 4122

原创 ubuntu18.04安装ros

ROS Melodic 官网安装指南总入口本教程为apt-get命令安装方式,包括详细的安装步骤、错误的解决方式和正确安装序的现象文章目录1 安装1.1 设置程序安装源并更新 Debian 包索引1.2 设置密钥1.3 安装2 初始化rosdep2.1 安装rosdep2.2 初始化2.3 更新3 设置环境(可选但是推荐)4 构建工厂依赖(可选但是推荐)5 检查是否安装成功1 安装1.1 设置程序安装源并更新 Debian 包索引命令:sudo sh -c '. /etc/lsb-rel

2021-09-16 15:19:24 1194

原创 linux 查看运行进程的可执行文件所在目录

1 获取PID方法1:执行top命令,然后找到对应的进程方法2:执行ps -ef | grep 程序名2 进入proc目录下对应的进程路径cd /proc/3[sudo] ls -l//查看系统或者其他用户开启的进程需要sudo权限exe连接的即可执行文件的目录。...

2021-09-14 11:43:20 3090

原创 数据结构与算法分析(一)—— 常见排序算法代码实现及性能分析

文章目录1 冒泡排序1 冒泡排序

2021-09-13 19:43:58 116

原创 linux下:Shell学习指南

1 变量1.1 变量命名规则只能用英文字母、数字和下划线,首个字母不能以数字开头;不能使用bash里的关键字(help命令可查)。1.2 变量的定义与赋值使用” = “赋值:变量名与等号之间不能有空格;_var=123CurrentPath=`pwd`通过语句给变量赋值。for file in `ls /etc` do echo $filedone1.3 变量的使用使用一个定义过的变量,只需要在变量名前加 $ 。echo $_var_var2=$_var

2021-09-10 13:53:36 247

原创 Qt — xml读写及常用操作示例

1 QXML类概述类描述QDomAttr表示 QDomElement 的一个属性QDomCDATASection表示一个 XML CDATA 片段QDomCharacterData表示 DOM 中的通用字符串QDomComment表示 XML 注释QDomDocument表示一个 XML 文档QDomDocumentFragment一组 QDomNodes,通常不是完整的 QDomDocumentQDomDocumentTypeDTD 在文档树中的表示QDomElement代表 DOM

2021-09-10 09:10:07 7734

原创 c++使用Mysql的详解及常用操作示例

ubuntu14.04命令安装mysqlMYSQL 基础知识之API解析运行环境:ubuntu14.04c++版本: c++11编译器:QTQMake version 3.0Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnuMysql版本:mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.31 pro文件TEMPLATE = ap

2021-09-06 19:45:24 630

转载 MYSQL 基础知识之API解析

1 数据类型MYSQL该结构代表1个数据库连接的句柄。几乎所有的MySQL函数均使用它。不应尝试拷贝MYSQL结构。不保证这类拷贝结果会有用。MYSQL_RES该结构代表返回行的查询结果(SELECT, SHOW, DESCRIBE, EXPLAIN)。MYSQL_ROW原型:typedef char **MYSQL_ROW;相关API:MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);一个字符串数组,所有得数据类型都被转换成字符串送

2021-09-02 20:50:05 414

原创 Linux之ubuntu下启动mysql的详细步骤及常见错误整理

mysqld_safe启动失败1 Can’t start server : Bind on unix socket: Permission denied终端提示:user@ubuntu:~$ mysqld_safe 210902 01:25:19 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to ta

2021-09-02 17:58:43 2323

原创 ubuntu14.04命令安装mysql

sudo apt-get install mysql-serversudo apt-get install libmysqlclient-dev

2021-07-17 14:02:01 123

原创 C++优化建议

1.指针与引用在以下情况只能使用指针:存在不指向任何对象的可能(即空指针)可能改变指向的对象在以下情况推荐使用引用:重载某个操作符时,返回引用必须指向一个对象且不再改变指向2.类型转换使用C++风格的类型转换,如下:static_cast:静态类型转换,常用于基本类型转换const_cast:去除变量的const属性dynamic_cast:动态类型转换,安全的基类和子类之间转换;运行时类型检查reinterpret_cast:强制类型转换,重新解释操作数的位模式,很难保证

2021-05-25 16:20:37 105

原创 RTTI —— 运行阶段类型识别

RTTI —— 运行阶段类型识别1.多态定义:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现的。说明:无多态性示例class Base{public: Base(){} void FunOne(){std::cout << "This is Base" << std::endl;}};class SubOne : public Base

2021-04-08 13:48:12 153

原创 运算符重载

格式//ret:返回的类型//op:运算符 + * / [] ……//argument-list:参数列表ret operator op(argument-list);限制至少有一个参数是用户定义的类型,不能为标准类型重载运算符不能违反运算符原来的语句法则,也不能修改运算符的优先级不能创建新的运算符以下运算符不能被重载:sizeof . .*(成员指针) :: ?:(条件运算符) typeid const_cast dynamic_cast reinterpret_c

2021-01-25 19:51:54 119 2

原创 windows编译安装protobuf

protobuf-3.5.1源码点这里下载安装cmake下载cmake,官网地址:https://cmake.org/download/, 推荐Binarydistributions的对于版本.msi。双击安装到对应路径,将 bin 的路径添加到环境变量。在 cmd 中输入:cmake --version,如显示版本信息,则安装成功。...

2021-01-05 14:07:05 240

原创 window命令行编译QT程序

我的环境是qt5.9.8 + vs20151.配置环境变量将qmake.exe和jom.exe的路径配置到环境变量中。设置windows环境变量详细步骤2.设置QT环境变量amd64:64位编译64位x86:32位编译32位amd64_x86:64位编译32位x86_amd64:32位编译64位CALL “C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.b

2021-01-04 15:45:39 642

原创 window设置环境变量

以添加qmake路径为例1. 打开i我的电脑->属性2. 选择高级系统设置3. 选择环境变量4. 选择Path->选择编辑5. 添加qmake路径->点击确定

2021-01-04 15:24:34 340

转载 SQL——基础语法

1.基本数据类型->SQL基本数据类型2.创建表creat table tablename (column_name column_type);实例:CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `s

2020-12-30 10:41:19 171

转载 MySQL指令——基础操作

1.登录mysql -h 主机名 -u 用户名 -p-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;-u : 登录的用户名;-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。2.增删数据库均以RUNOOB为例:创建数据库creat database RUNOOB;删除数据库drop database RUNOOB;3.显示数据库show databases;/

2020-12-30 10:08:50 236

原创 tinyxml2使用

1.从文件加载XMLDocument doc;int iRet = doc.LoadFile("./test.xml");2.XMLDocument转字符串XMLDocument doc;int iRet = doc.LoadFile("./test.xml"); XMLPrinter printer; doc.Print(&printer); std::string strXml = printer.CStr();3.字符串转XMLDocumentstd::string s

2020-12-23 10:14:59 115

转载 ubuntu14.04升级gcc到4.9

重要的事情说在前面:本文所提到的方法应用的系统范围是ubuntu 14.04.05LTS 版本,由于此系统官方版本为gcc4.8.4.但是很多编译环境是要求gcc4.9版本以上,此时如果是直接利用软件源更新,是无法做到,只能通过到官网下载源码编译,笔者亲测,那是一个漫长而煎熬的过程,还会出现依赖缺失等一系列错误的过程。所以在这里推荐一种简单省事的方法。直接通过添加软件源,然后更新gcc的方法。具体方法如下:1. 添加软件源sudo add-apt-repository ppa:ubuntu-toolc

2020-12-11 09:43:03 421

原创 Linux获取本地时间

1.时间的表示方法参考链接Linux内核中表示时间的结构体和数据类型有5种, 具体其声明的头文件在:#include<sys/time.h> #include<sys/types.h>extern void do_gettimeofday(struct timeval *tv);//gettimeofday函数执行成功后返回0,失败后返回-1,错误代码存于errno中。extern int gettimeofday(struct timeval *__restrict _

2020-12-04 11:14:06 917

转载 宽字符与多字节字符相互转换

环境:c++11#include <locale>#include <codecvt>std::wstring szW{ L"Hello world." };std::string szA;std::wstring_convert<std::codecvt_utf8<wchar_t>> cv; // 声明一个用于转换的变量cv。所有的转换都经过此变量。szA = cv.to_bytes(szW);// 宽字节转多字节std::wstring sz

2020-11-05 11:14:02 252

原创 ubuntu18.04编译安装rcslib

rcslib-2012.12.05源码点这里下载1.安装automake工具sudo apt-get install autoconf automake libtool2.编译安装./autogen.sh./configuremakemake check//很慢,可以跳过这一步sudo make installsudo ldconfig3.查看版本protoc --version...

2020-09-21 11:23:00 712

原创 GStreamer播放本地wav格式音频文件代码实现

1.安装GStreamer && 测试环境GStreamer官方教程如下图为各个平台的安装教程,按照教程装就好了装完测试一下电脑环境:gst-launch-1.0 filesrc location=/home/username/work/TestProgram/TestGstream/tts_sample.wav ! wavparse ! alsasink命令规则参考点这里能正常听到声音就继续往下看呀~没有声音的话就先解决这个问题吧。2.简单粗暴上代码QT在.pro文件配置

2020-07-04 17:18:50 1350

rcslib-2012.12.05.tar.gz

NML通讯RCS安装包源码,编译安装教程:https://blog.csdn.net/qq_39916709/article/details/108704560

2020-09-21

java开发工具包jdk

java开发工具包jdk,ubuntu配置Java环境教程:https://blog.csdn.net/qq_39916709/article/details/106917801

2020-09-21

CMakeListTest.txt

交叉编译CMakeList模板

2020-09-16

compile2019.1.tar.gz

交叉编译器

2020-08-10

libzmq-4.3.2.tar.gz

arm ubuntu14.04、16.04、18.04已测试安装通过,ubuntu编译安装libzmq教程:https://blog.csdn.net/qq_39916709/article/details/106945875

2020-07-03

boost_1_55_0.tar.gz

ubuntu14.04、16.04、18.04均已编译安装测试过,ubuntu18.04编译安装boost1.55教程:https://blog.csdn.net/qq_39916709/article/details/106919122

2020-07-01

protobuf3.5.1.tar.gz

protobuf ubuntu14.04、16.04、18.04均已编译安装测试过,ubuntu18.04编译安装protobuf教程:https://blog.csdn.net/qq_39916709/article/details/106922636

2020-07-01

opencv-3.3.1.tar.gz

opencv库源码,ubuntu18.04、16.04均以通过编译安装测试,ubuntu18.04编译安装opencv3.3.1教程:https://blog.csdn.net/qq_39916709/article/details/106921816

2020-07-01

jsoncpp.tar.bz2

Jsoncpp源码,可编译成静态库,用于解析Json格式数据,ubuntu18.04编译安装jsoncpp:https://blog.csdn.net/qq_39916709/article/details/106945809

2020-07-01

空空如也

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

TA关注的人

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