自定义博客皮肤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)
  • 收藏
  • 关注

原创 HTTPS的工作流程

HTTPS

2022-08-16 09:57:00 425

原创 使用vscode创建C++工程

链接:https://blog.youkuaiyun.com/lovebasamessi/article/details/108716206

2022-03-25 16:50:19 1982

原创 UDS诊断

链接:https://www.freesion.com/article/2515446859/

2021-11-11 15:59:45 372

原创 诊断故障码及其相关服务

链接:https://www.freesion.com/article/3179231765/

2021-11-11 15:58:54 440

原创 为什么说车载以太网诊断协议 DoIP是车载网络诊断的必然趋势?

链接

2021-09-08 08:45:55 474

原创 DoIP技术

本文是关于DoIP技术的第一篇文章,主要进行一些概念介绍,具体的细节会在后续的文章中和大家探讨。DoIP是Diagnostic communication over Internet Protocol 的简称,顾名思义,就是通过网络协议进行诊断通信。这里的网络协议,指的就是OSI七层模型中,通用计算机网络所使用的从层4到层1这四层协议。DoIP由ISO13400 系列标准定义,作为实现基于Ethernet的诊断通信的方案。本标准的各部分内容如下:— Part 1: General informatio

2021-08-24 09:51:54 550

原创 OBD协议

https://www.cnblogs.com/still-smile/p/12160488.html

2021-08-23 15:27:02 206

原创 一文读懂APU/BPU/CPU/DPU/EPU/FPU/GPU等处理器

https://blog.youkuaiyun.com/qq_38880380/article/details/79379169

2021-08-19 09:22:45 1006

原创 汽车诊断服务

ISO 11898是CAN总线的规范,对应于OSI是层一和层二,即物理层和数据链路层。对于物理层来说,定义了CAN总线信号在双绞线上的电压形式,对于数据链路层来说,定义了CAN帧的各个域的用途。ISO 15765-2是诊断服务在CAN总线上的传输的实现方式,对应于OSI是层4,传输层。对于classical CAN总线来说,它一帧只能承载8个字节,而上层的诊断服务却可能超过8个字节,这时候就需要传输层对数据进行分包重组流控制。ISO 15765-2还定义了应用层、传输层、数据链路层之间的编程接口,其实就是

2021-08-18 16:20:46 362

原创 ADASISv3简述,自动驾驶怎么进行地图数据传输?

https://blog.youkuaiyun.com/briblue/article/details/112644697

2021-08-18 15:51:56 437

原创 CAN 协议和标准规格

2021-08-17 19:31:26 180

原创 ISO/OSI模型

ISO/OSI是指“计算机网络的开放系统互连模型”OSI(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。该体系结构标准定义了网络互联的七层框架:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。即OSI开放系统互连参考模型。在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。ISO/OSI参考模型只是描述了一些概念,用来协调进程间通信标准的

2021-08-17 11:50:16 2428

原创 什么是右值引用?右值引用与左值引用的区别

https://blog.youkuaiyun.com/weixin_49199646/article/details/109861756

2021-08-11 15:40:35 447

原创 linux退出vi编辑模式

编辑完按Esc退出编辑模式此时输入::wq保存后退出:wq!强制保存后退出:w保存但不退出:q不保存并退出:q!不保存并强制退出

2021-08-04 13:08:57 156

原创 docker exec -it进入及退出容器

dokcer ps -a 查询正在运行的containerdocker exec -it 容器ID /bin/bash 进入容器exit 退出容器

2021-07-29 14:34:01 10683

原创 尽可能使用const

char greeting[] = “Hello”;char p = greeting; //non-const pointer, non-const dataconst char p = greeting; //non-const pointer, const datachar* const p = greeting; //const pointer, non-const dataconst char* const p= greeting;

2021-04-14 16:44:49 107

原创 标准模板库

STL提供了一个表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类型的单元,可以存储若干个值。STL容器是同质的,即存储的值的类型相同;算法是完成特定任务的处方;迭代器能够用来遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象,keys类对象或函数指针。STL使得能够构造各种容器和指向各种操作。1、模板类vector#include#includevectorrantings(5);int n;cin>>n;vectorscores(n);...

2021-03-28 21:53:29 130

原创 C++内存分为堆、栈、自由存储区、全局/静态存储区和常量存储区

栈:就是那些由编译器在需要时分配,在不需要时自动清除的变量存储区。里面的变量通常是局部变量、函数参数等。在一个进程中位于用户虚拟地址空间顶部的用户栈,编译器用它来实现函数的调用。堆:就是那些由new分配的内存块,它们的释放编译器不去管,由我们的应用程序控制,一般一个new对于一个delete如果程序员没有释放掉,那么在程序结束后,操作系统会自动收回,堆可以动态地拓展和收缩。自由存储区:它是有malloc等分配的内存块,它和对释放相似的,不过它是用free来结束自己的生命的。全局/静态存储区:全局

2021-03-15 23:50:23 399 1

原创 队列

首先需要设计一个Queue类,先列出队列的特征:1、队列存储有序的项目系列;2、队列所能容纳的项目数有一定的限制;3、应当能够创建空队列;4、应当检查队列是否为空;5、应当能够检查队列是否是满的;6、应当能够在队列尾添加项目;7、应当能够从队列首删除项目;8、应当能够确认队列中的项目数;class Queue{enum {Q_SIZE=10};private:public:Queue(int qs=Q_SIZE);~Queue();bool isempty() const;

2021-03-14 18:43:44 117

原创 构造函数使用new的类

如果使用new运算符分配类成员指向的内存,在设计时应该采用一些预防措施:1、对于指向内存的有new分配的所有类成员,都应该在类的析构函数中使用delete,该运算符将释放分配的内存;2、如果析构函数通过对指针类成员使用delete来释放内存,则每个构造函数都应该使用new来初始化指针,或将它设置为空指针。3、构造函数要么使用new [],要么使用new,不能混用。如果构造函数使用的是new [] ,则析构函数也应使用delete[], 如果构造函数使用的new,则析构函数也应该使用delete.4、

2021-03-14 12:42:00 591

原创 QT安装

1、Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/archive 和 official_releases 两个目录都有最新的 Qt 开发环境安装包,我们以 archive 目录里的内容为例来说明。点击进入 archive -选择版本-QT目录,...

2021-03-14 08:56:49 105

原创 C++特殊成员函数

C++自动提供了下面这些成员函数1、默认构造函数,如果没有定义构造函数;2、默认析构函数,如果没有定义;3、复制构造函数,如果没有定义;4、赋值构造函数,如果没有定义;5、地址运算符,如果没有定义;隐式地址运算符返回调用对象的地址(即this指针的值)。C++11提供了另外两个特殊成员函数:移动构造函数和移动赋值运算符。1)、复制构造函数复制构造函数用于将一个对象复制到新创建的对象中。也就是说,它用于初始化过程中(包括值传递参数),而不是常规的复制过程中。原型如下:Class_name(

2021-03-13 08:35:38 207

原创 类的自动转换和强制类型转换

C++语言不自动转换不兼容的类型。例如,下面的语句是非法的,因为左边是指针类型,而右边是数字:int * p=10;虽然计算机内部可能使用整数来表示地址,但从概念上说,整数和指针完全不同。例如不能计算指针的平方。然而,在无法自动转换时,可以使用强制类型转换:int * p=(int *) 10;...

2021-03-13 07:45:24 95

原创 对象和类

接口:接口提供了两个共享框架,供两个系统交互时使用。不熟悉构造函数的会使用成员名称用作构造函数参数名:Stock::Stock(const string & company, long shares, double share_val){…}这是错误的。构造函数的参数表示的不是类成员,而是赋给类成员的值。因此参数名不能与类成员相同。构造最终的代码将是这样的:shares = shares;为避免这种混乱,一种常见的做法是在数据成员中使用m_前缀class Stock{privat

2021-03-10 07:57:46 65

原创 名称空间

名称空间的指导原则:1、使用在已命名的名称空间中声明的变量,而不是使用外部全局变量。2、使用在已命名的名称空间中声明的变量,而不是使用静态全局变量。3、如果开发了一个函数库或类库,将其放在一个名称空间中。4、仅将编译指令using作为一种将旧代码转换为使用名称空间的权益之计。5、不要在头文件中使用using编译指令。首先这样做掩盖了要让那些名称可用,另外,头包含文件的顺序可能影响程序的行为。如果非要使用编译指令using,应将其放在所有预处理器编译指令#include之后。6、导入名称时,首选作

2021-03-09 07:22:33 267 3

原创 存储持续性、作用域和链接性

C++使用四种种不同的存储数据,这些方案的区别就在于数据保留在内存中的时间:1、自动存储持续性:在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。它们在程序开始执行所属的函数或代码块时被创建,在执行完函数或代码块时,它们使用的内存被释放,2、静态存储持续性:在函数定义外定义的变量和使用关键字static定义的变量的存储持续性都为静态3、线程存储持续性:当前,多核处理器很常见,这些CPU可以同时处理多个执行任务,这让程序能够将计算放在可并行处理的不同线程中,如果变量是使用关键字thread_l

2021-03-08 07:40:28 87

原创 重载引用参数&函数模板

void sink(double & r1); matches modifiable lvaluevoid sank(const double & r2) ; matches modifiable or const lvalue, rvaluevoid sunk(double && r3); matches rvalue左值引用参数r1与可修改的左值参数(如double变量)匹配;const左值引用参数r2与可修改的左值参数、const左值参数和右值参数(

2021-03-07 21:56:04 194

原创 对象、继承和引用

**继承:**使得能够将特性从一个类传递到另一个类的语言特性继承的另一个特性是,基类引用可以指向派生类,而无需进行强制转换。这种特征的一个实际结果是,可以定义一个接收基类引用作为参数的函数,该函数调用时,可以将基类作为参数,也将派生类对象作为参数。使用的引用的两个主要原因:1、程序员可以使用函数中的数据;2、通过传递引用而不是整个数据对象,可以提高程序的运行速度;什么时候使用引用,什么时候使用指针,什么时候直接按值传递,指导原则如下:1、如果数据对象很小,如内置数据类型或小型结构,则按值传递;

2021-03-07 09:20:44 417 1

原创 Linux常用命令

链接:https://blog.youkuaiyun.com/qq_23329167/article/details/83856430

2021-01-16 18:21:00 108

原创 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of

问题描述报错selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 78解决方案查看本机Chrome版本号在这里插入图片描述根据版本号搜谷歌浏览器驱动镜像在这里插入图片描述将解压后的chromedriver.exe放在C:\Users\Administrator\Ap

2021-01-08 20:34:51 327

原创 MYSQ基础知识三

1、MySQL 序列使用CREATE TABLE insect(id INT UNSIGNED NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name VARCHAR(30) NOT NULL,date DATE NOT NULL,origin VARCHAR(30) NOT Null);INSERT INTO insect (id, name, date, origin) VALUES(NULL,'housefly','2001-09-10','ki

2020-08-22 16:07:22 176

原创 MYSQL基础三

1、INNER JOINCREATE TABLE IF NOT EXISTS `mytest2`( `author` VARCHAR(40) NOT NULL, `sex` VARCHAR(100) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO mytest2(author, sex) VALUES('好学生', '男');INSERT INTO mytest2(author, sex) VALUES('student'

2020-08-20 20:24:21 117

原创 MYSQL基本操作二

文章目录1、show databases;2、 status 查看mysql数据库的运行状态3、use 命令选择数据库4、查看数据库中的表5、 查看表结构6、插入数据7、读取表8、MySQL WHERE 子句9、MySQL UPDATE 更新10、MySQL DELETE 语句11、MySQL LIKE 子句12、MySQL 排序13、MySQL GROUP BY 语句1、show databases;2、 status 查看mysql数据库的运行状态3、use 命令选择数据库4、查看数据库中

2020-08-19 10:05:18 103

原创 MYSQL的基本操作

登录MYSQLmysql -u root -p执行结果:MySQL 创建数据库CREATE DATABASE IF NOT EXISTS TEST1;执行结果:查询库:MySQL 删除数据库drop 命令格式:drop database RUNOOB; show databases;执行结果:选择数据库: drop database TEST1;执行结果:MySQL 选择数据库:use TEST1;执行结果:MySQL 数据类型数值类型日期和时间类

2020-08-18 11:42:42 114

原创 matplotlib完成极坐标

使用极坐标来显示球员的能力图#!/usr/bin/python#coding:utf-8import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesplt.style.use('ggplot')font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size=14)#球员数据量abili

2020-08-12 17:22:10 342

原创 matplotlib样式美化

文章目录标题及轴标签样式网格内置样式线条及填充交差及填充标题及轴标签import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号import numpy as npdef f(t): s1 = np.cos(2*np.pi*t) e1 = np.exp(-t)

2020-08-11 20:04:28 1437

原创 Matplotlib绘图

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。

2020-08-09 17:41:34 419

转载 学习python中的pandas教程

作者:吹牛顿链接:https://www.zhihu.com/question/56310477/answer/873227129来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。上来就丢教程和资料,其实是把路带偏了!找到学习Pandas的方法比找教程重要的多!现在无论是学习Python还是Pandas,最大的问题不是没有资料,而恰恰是太多资料和教程,让人抓不住头绪。很多凭着兴趣入坑的同学(当年的我),能够很快熟悉Python基础语法,然后不约而同的一头扎进《利用Pyth

2020-08-03 11:32:07 297

原创 Pandas基础处理方法

文章目录增、删、选、改合并删空&去重增、删、选、改简单梳理针对列的基本处理方式——增、删、选、改。import pandas as pddf=pd.read_excel('需求.xlsx')print(df)#df.to_csv('需求副本.csv')#print(df.describe())#增df['新增列']=range(1,len(df)+1)print(df)#删df.drop('新增列',axis=1,inplace=True)print(df)pr

2020-08-03 10:56:50 239

原创 An error occurred during the installation of assembly ‘Microsoft.VC90.CRT,version=“9.0.30729.1“,publ

安装python出现以上问题解决方法:安装Python选择当前用户 ,而不是for all users

2020-08-03 09:18:21 1237

空空如也

空空如也

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

TA关注的人

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