自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 pyinstaller 如何打包python 代码

本次文章主要介绍,pyinstaller 打包 python 常见的问题,以及解决办法。

2024-03-06 20:14:30 379

原创 c++ 代码内存如何校验以及检查

valgrind 检查内存

2024-02-21 11:29:51 379

原创 python如何包含其他路径的模块

需要找到pycharm 使用的 python 解释器,往python解释器添加dir1父目录就可以了。但是对于使用 pycharm 的同学来说,使用这2种,还无法解决方案。export PYTHONPATH=dir1父目录。显示全部解释器,找到当前解释器。添加dir1 父目录。

2024-01-19 14:43:47 350

原创 vm 如何桥接模式

vm 桥接

2023-12-22 17:48:25 1075 2

原创 fastdds源码编译安装

fastdds

2023-10-19 18:19:01 441

原创 阅读dds 规范 1.4

DomainEntity:是一个中间对象,所有非particpant 对象全部继承自 DomainEntity,为了保证 其他的participant 对象不可以包含 该participant 对象。用户将需要发布的数据传输给 DataWriter 对应的 publisher 必须去处理,分发数据。Subscriber:负责接受 publisher 的数据,并根据(qos)去决定数据的可用性。可以分发不同的数据类型的分发。DataReader:访问 Subscriber 接受的数据。通过key 去识别,

2023-04-03 13:56:58 297

原创 研究fastdds v2.8.0 2之 Domain 模块 4

判断participant 中的包含的 write 是否存活,这个函数只在 配置了 LIVELINESS qos 并且其值还是 MANUAL_BY_PARTICIPANT 才有用(结合rtps 中的wlp write liveliness protocol)mask 用于设置participant 的初始状态。删除该 participant 包含的所有实体。获取participant 的回调函数。设置participant 的回调函数。获取participant 的qos。创建 publisher。

2023-03-28 21:04:52 317

原创 研究fastdds v2.8.0 1之 基础模块 3

5、wait 中存在 condition过滤函数,该过滤函数中会调用 StatusConditionImpl 的 get_trigered_value() 来筛选被触发的 Condition。返回被触发的 Condition数组。3、waitset wait 函数, 如果调用 StatusConditionImpl set_triger_value() 去尝试触发,在该函数中会调用 ConditionNotifer的 notify。这里是 condition 和 waitset 配套的流程。

2023-03-28 17:12:38 158

原创 研究fastdds v2.8.0 1之 基础模块 2

DomainEntity 这个类是一个完全空的类。其目的为了区分 DomainParticipant 和 普通 Entity 的区别。研究fastdds v2.8.0 1之 基础模块 2 之 DomainEntity 模块。普通的Entity 包含 datawriter datareader topic 等。因为 participant 是 普通 Entity 的容器概念。

2023-03-28 13:25:13 55

原创 研究fastdds v2.8.0 1之 基础模块

dds协议理解

2023-03-28 13:12:10 536

原创 vscode 如何设置g++/gcc默认跳转路径

vscode 修改跳转路径

2023-02-09 13:45:35 888

原创 文件管理系统

文件管理工具

2022-10-17 22:44:51 245

原创 c++ 模板之 std::enable_if_t 理解.

c++ enable_if enable_if_t

2022-10-13 18:23:07 1576

原创 UML类图

UML 类图下面将介绍:1、怎么画一个类的类图2、怎么画多个类的类图一个类类图类图将,类分为:属性和操作2个部分。属性:变量操作:函数了解c++ 的都知道c++ 有4种权限的管理:private,public,protected,static分别怎么表示呢?private: -public: +protected: #static: 下划线如上图:对应的源码就是class test{public: int pub_v; void pub_f(); private

2022-05-17 22:36:03 331

原创 DDS协议阅读吸收学习笔记1

由于个人英文能力有限。所以为了不浪费这次机会,我将会在次阅读理解中。创建2块,分别是:dds 理解块学习到的英文单词块DDS 理解学习到的英文生词variousvarious : vari 变化 + ous 形容词后缀变化多端各种各样的引申:vary vi 变化。varied : vari 变化 + ed 形容词后缀 变化的, 多变的 -》 adj 各式各样的variation: vari 变化 ation 行为结果。 变化的结果。变异。 -》n 变更,变化,变

2022-05-17 10:07:55 120

原创 cmake 命令

最近在编写 cmake 现在把if 命令遇到的问题总到这里1、if(NOT TARGET XX)官方文档if(TARGET target-name)True if the given name is an existing logical target name such as those created by the add_executable(), add_library(), or add_custom_target() commands.判断 target-name 是否存在。 tar

2022-05-10 17:02:11 1296

原创 CMAKE 编写 FindXXX.cmake

首先为什么要写 FindXXX.cmake对于一个大型项目,作为一个合格的开发人员来说,特别是C/C++开源人员。会一门编译工具非常重要。在一个大型项目中,使用过Makefile 的肯定感觉到问题就是,当项目庞大的时候,越到后面的库或者进程,依赖的头文件,库将会越来越多。在写makefile也是一件非常痛苦的一件事。相信这个问题,不只是在Makefile 中存在,cmake 中也会存在。那么如果,可以让编译过后的库自己解决,自己的依赖。是不是就可以解决这个问题呢?cmake提供这样的方法:find_

2022-05-05 20:56:16 3363 2

原创 阅读开源python脚本工具学习笔记2,之解析xml

这个开源脚本解析xml 使用 xml.etree.ElementTree工具下面的理解全部参照python 官方文档注意使用xml 需要注意原文:Warning The xml.etree.ElementTree module is not secure against maliciously constructed data. If you need to parse untrusted or unauthenticated data see XML vulnerabilities.xml.e

2022-04-26 17:06:49 794

原创 阅读开源Python脚本学习笔记1,之python异常

今天开始阅读一个python脚本写的开源工具,下面会将阅读中遇到的问题以及解决办法都记录在这一系列文档里面第一天今天遇到 python 捕捉异常的问题。相信很多python 开发人员,在编写python代码 的时候,都会遇到,明明语法没问题,逻辑没问题。但是程序执行到某一行就会崩溃。这个就是异常做的事情了。那么什么是异常?出现异常怎么办?如何捕捉异常?下面会一一回答什么是异常程序员永远无法,在编写代码的时候预料到程序执行是遇到的问题的所有情况。有些情况可能就只会导致结果错误,而有些则会导致程序崩

2022-04-26 15:29:50 468

原创 conda 教程

conda 教程conda简述安装conda创建环境常用操作conda简述对于一个做python开发的人员来说相信conda都是比较了解。由于python 是一个非常依赖环境的编程语言。这些环境包括 python 版本,以及开源模块。为了方便管理python版本和开源模块,构建一个虚拟环境。conda出现了。安装conda个人编写了一个自动安装脚本installConda.sh#!/bin/bashconda_url=https://mirrors.tuna.tsinghua.edu.cn/a

2022-04-25 20:00:09 963

原创 C++有用的网址

https://www.tutorialspoint.com/cplusplus/index.htm 好用 c++ 帮助网站http://cppds.com/http://cplusplus.com/boost c++ 库 中文帮助手册https://www.bookstack.cn/books/boostc++ 并发https://www.bookstack.cn/read/Cpp_Concurrency_In_Action/README.mdGoogle C++ 风格指南https:/

2022-03-13 15:50:12 1221

转载 mingw安装

连接:https://blog.csdn.net/jiqiren_dasheng/article/details/103775488

2022-03-13 15:34:23 160

转载 cmake变量作用域

这篇文章写得很好:cmake 变量作用域特别注意 缓存变量,全局有效,无论是父子目录作用域,还是函数作用域全部有效.

2022-03-01 11:52:16 106

原创 cmake 之添加子目录

主cmakelists子cmakelists在主目录执行结果:

2022-03-01 11:40:32 777

原创 CMAKE之 foreach 使用

cmake foreach

2022-03-01 11:34:57 229

原创 cmake 使用之在vscode 上的简单操作

在Vscode 上安装 cmake ,cmake_tools 之后鼠标悬停在cmake 的关键字上就可以看见该关键字的描述如图

2022-03-01 11:22:35 242

原创 【无标题】

android studio 加载 jni 库

2022-02-17 20:08:26 841

原创 c++ 线程周期关键字thread_local

thread_local变量是C++ 11新引入的一种存储类型。它会影响变量的存储周期(Storage duration),C++中有4种存储周期:1.automatic (自动分配, 栈变量)2.static3.dynamic (动态分配,malloc)4.thread有且只有thread_local关键字修饰的变量具有线程周期(thread duration),这些变量(或者说对象)在线程开始的时候被生成(allocated),在线程结束的时候被销毁(deallocated)。并且每 一个线程

2020-05-13 10:58:51 808 2

原创 c语言强转的原理

**要理解强转首先必须理解,各种类型在内存中占有的空间大小。例如:以32位系统来看int 4 位long 8 位例子: int a[2]={1,1}; long l = (long)a[0];这个时a数组在内存中的数据,转换成long之后,l = 0000 0001 0000 0001 = 0x0101.000**0 00010000 0001其实强转对于c语言来说就是,变量的存储空间化了,需要提取的数据不一样了。a[0] 是int 只需要提取 4个字节, l

2020-05-13 09:57:35 1481 1

原创 c语言中浮点数的存储方法

浮点数存储的机制是:小数加上指数的结构例如 3.14159 = +0.314159E1只是在 c语言中存储的二进制

2020-05-13 09:44:51 329

原创 c语言中用到的字符函数

c语言中用到的字符函数,必须包含头文件#include<ctype.h>

2020-05-12 18:14:57 115

原创 c语言的可移植性

可移植类型:stdint.h和inttypes.hC 语言提供了许多有用的整数类型。但是,某些类型名在不同系统中的功能不一样。C99 新增了两个头文件stdint.h和inttypes.h,以确保C语言的类型在各系统中的功能相同。C语言为现有类型创建了更多类型名。这些新的类型名定义在stdint.h头文件中。例如,int32_t表示32位的有符号整数类型。在使用32位int的系统中,头文件会把int32_t作为int的别名。不同的系统也可以定义相同的类型名。例如,int为16位、long为32

2020-05-12 17:45:08 2239

原创 c语言编译过程

c语言作为编译语言,是将源代码,转换成计算机可以认识的机器代码(二进制)给计算机运行c编译过程,源代码-> 汇编代码->.o 目标文件。然后目标文件在使用连接器,将库代码,和启动代码连接到 .o文件。什么是启动代码,大家都知道c程序的入口是main ,但是大家知道为什么是main的吗?就是启动代码做的事,它负责设置代码的入口位置就是main函数所在的位置。...

2020-05-12 17:16:14 130

原创 编程7步,养成良好的编程习惯

1编程的7个步骤1.1 第1步:定义程序的目标在动手写程序之前,要在脑中有清晰的思路。想要程序去做什么首先自己要明确自己想做什么,思考你的程序需要哪些信息,要进行哪些计算和控制,以及程序应该要报告什么信息。在这一步骤中,不涉及具体的计算机语言,应该用一般术语来描述问题。1.2 第2步:设计程序对程序应该完成什么任务有概念性的认识后,就应该考虑如何用程序来完成它。例如,用户界面应该是怎样的?如何组织程序?目标用户是谁?准备花多长时间来完成这个程序?除此之外,还要决定在程序(还可能是辅助文件

2020-05-12 16:51:15 980

原创 c语言实现面向对象编程

面向对象,什么是对象?对象就是有自己的实体,有自己的动作。对于c语言来说结构体,一般来说只是存储数据,相当于有了实体,但是没有动作。也没有手脚,走不了路.那么我们就给这个结构体,创造手脚,教他走路。这样就实现了面向对象编程#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>//给它手脚typedef struct Person{ char * h

2020-05-12 11:25:06 139

转载 Notepad++ 输入模式修改

Notepad++ 输入模式修改有的时候,Notepad++ , 会莫名其妙的输入模式由插入模式,替换成了修改模式。插入模式,输入新的内容,后面的内容不会被替换。修改模式,输入新的内容,后面的内容会被替换。插入模式对应的光标是一个竖线。修改模式光标是一个横线。插入模式和修改模式切换的快捷键是: insert....

2020-05-11 14:05:08 1007

原创 gtest学习笔记0,安装gtest

这个个安装方法是主要用于ubuntu系统的。其他系统没有测试过,经供参考:1、终端输入$ sudo apt-get install libgtest-dev这一步:下载源码后,apt将会在目录/usr/src/生成gtest文件夹来存放源码.2、进入gtest目录$ cd /usr/src/gtest3、按照如下命令,这里是用到cmake命令, 有些电脑可能需要安装cmake命令。$ sudo mkdir build$ cd build$ sudo cmake …$ sudo make

2020-05-11 13:57:59 239

原创 ping不通github.com怎么办?

ping github.com 不通怎么办?今天遇到一个问题ping不同github官网以后大家遇到相同的情况可以尝试一下,不保证每次都能成功,但是是个解决办法首先想到的应该是dns问题,但是又不知道使用哪个dns能解决问题最后从网上找到办法,windows可以自己配置dns,在本机上使用首先获得github.com 的IP地址这个就是IP地址到C:\Windows\Syste...

2020-04-23 22:40:45 8725 2

转载 python xlwt模块编辑excel表格

这个链接上的文章非常好转载:https://blog.csdn.net/fanzonghao/article/details/104497366

2020-04-21 17:32:31 195

原创 boost python使用笔记(0)导入函数以及生成python可以import的动态库

1.linux 上安装python boost安装 python3.5 。一般来说你安装的Ubuntu版本16版本以上就会自带,python3.5.,但是默认的python 是一个指向python 2.7 的软连接按照下面这样操作:$ which python$ /usr/bin/python$ sudo cp /usr/bin/python3 /usr/bin/python...

2020-04-21 17:29:39 269

空空如也

空空如也

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

TA关注的人

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