ChengQianO
码龄13年
关注
提问 私信
  • 博客:91,458
    91,458
    总访问量
  • 100
    原创
  • 698,206
    排名
  • 51
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2012-01-21
博客简介:

a331683772的博客

博客描述:
学习
查看详细资料
个人成就
  • 获得65次点赞
  • 内容获得69次评论
  • 获得219次收藏
  • 代码片获得153次分享
创作历程
  • 12篇
    2020年
  • 38篇
    2019年
  • 11篇
    2018年
  • 39篇
    2017年
成就勋章
TA的专栏
  • DL
    2篇
  • Linux
    20篇
  • C语言
    54篇
  • Python
  • 数据与结构
    11篇
  • ROS
    4篇
  • C++
    7篇
兴趣领域 设置
  • 人工智能
    tensorflow
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

git的基本使用总结

Git的基本使用本地仓库环境:Centos (windos下安装git后,打开gitbash类似)1.创建本地仓库。在要创建的目录下git init //此时会多出一个文件夹.git2.把文件添加到版本库中git add .git add 具体文件名3.提交到本地仓库 git commit -m "注释"远程仓库1.github上创建仓库2.将本地的ssh添加到githubssh-keygen -t rsa –C “youremail@example.com“ //创建完成
原创
发布博客 2020.12.30 ·
201 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

页面置换算法

页表如何将虚拟地址转换为物理地址分页内存管理和分段式内存管理分段内存管理内存地址的构成:段起始地址+段内偏移段表—有很多的段表项(物理段的起始地址)通过地址中的段号去段表中找到段表项,通过段表项中的物理段起始地址加上地址中的段内偏移获取到物理地址分页内存管理分页式内存管理:内存地址的构成:页号+页内偏移页表—有很多页表项通过地址中的页号去页表中找到页表项,通过页表项中的物理页号加上页内偏移获取到物理地段页式内存管理:内存地址:段号+段内页号+页内偏移段表项中又段内页表起始地址
原创
发布博客 2020.07.06 ·
1130 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

二叉树算法题

二叉树的前序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: // vector<int> .
原创
发布博客 2020.06.23 ·
258 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

WIN10+Darknet自建简单数据集训练YOLOv3识别特定物体

1.在darknet-master\build\darknet\x64 新建yolo-obj.cfg文件(可以直接复制yolov3.cfg,然后重命名为yolo-obj.cfg),然后就是修改这个文件内容了。将batch 改成64 :batch=64将subdivisions 改成8 :subdivisions=8将每个yolo下(共有3处)的classes改成你自己的类的数量 :classes = 1(我的是1类)将每个yolo上面第一个convolutional下的filters改成你自己的大
原创
发布博客 2020.05.26 ·
1064 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

网络套接字编程

/*=============================================================== * Copyright (C) . All rights reserved.")* 文件名称: * 创 建 者:zhang* 创建日期:* 描 述:封装UdpSocket类,实例化对象,向外提供简单的socket接口 * ...
原创
发布博客 2020.05.22 ·
1528 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络协议包格式

ARP协议当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将AR...
原创
发布博客 2020.04.25 ·
1432 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

C++11

1.介绍2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于TC1主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。相比C++98/03,C...
原创
发布博客 2020.04.22 ·
377 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程

多线程线程概念线程是什么?在一个程序里的一个执行路线就叫做线程(thread)。线程是一个进程内部的控制序列。一切进程至少都有一个执行线程。进程和线程进程是资源竞争的基本单位线程是程序执行的最小单位线程共享进程数据,但也拥有自己的一部分数据:线程ID>一组寄存器>栈>errno>信号屏蔽字>调度优先级进程和线程的关系:线程之间的独有与共享独有:栈,...
原创
发布博客 2020.03.20 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高级IO

五种典型IO阻塞IO: 在内核将数据准备好之前, 系统调⽤用会⼀直等待. 所有的套接字, 默认都是阻塞⽅方式.阻塞IO是最常见的IO模型非阻塞IO: 如果内核还未将数据准备好, 系统调用仍然会直接返回, 并且返回EWOULDBLOCK错误码.非阻塞IO往往需要程序员循环的方式反复尝试读写文件描述符, 这个过程称为轮询. 这对CPU来说是较⼤大的浪费, 一般只有特定场景下才使用.信号驱动...
原创
发布博客 2020.03.19 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STL之关联式容器

1. 关联式容器STL中类如:vector、list、deque、forward_list(C++11)等,因为其底层为线性序列的数据结构,里面存储的是元素本身,被成为序列式容器。关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key,value>结构的键值对,在数据检索时比序列式容器效率更高。2. 键值对用来表示具有一一对应关系的一种结构,该结构中一般只包...
原创
发布博客 2020.03.13 ·
247 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式

设计模式一部分大佬将自己的编程经验,通过一些常见的问题或者常见的场景,给出一种解决方案或者一种套路。让后续程序员在遇到相似的问题是可以快速设计自己的代码。常见的设计模式1.创建型模式:用于构建对象,将实现从系统当中分离处理。例如:单例模式2.结构性模式:用于许多不同的对象之间形成大型的对象结构。例如:适配器模式3.行为型模式:例如观察者模式单例模式1.特点:提供了一个唯一的实例,具有...
原创
发布博客 2020.03.11 ·
189 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

WIN10+VS2017编译Darknet+YOLOV3简单测试

环境:Win10,CTX1050Ti软件环境:CUDA10.2,cudnn.VS2017,OpenCV <= 3.4.0CUDA10.2检查是否支持 CUDA:https://developer.nvidia.com/cuda-gpusCUDA 的下载地址:https://developer.nvidia.com/cuda-downloads如果需要下载 CUDA 的历史版本,请移...
原创
发布博客 2020.02.25 ·
3562 阅读 ·
0 点赞 ·
1 评论 ·
11 收藏

链表面试题总结

2.链表的逆置typedef struct ListNode ListNode;struct ListNode* reverseList(struct ListNode* head){ if(head == NULL) return NULL; ListNode* PreNode = NULL; ListNode* CurNode = head; L...
原创
发布博客 2019.11.24 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

智能指针

1.什么需要智能指针?malloc出来的空间,没有进行释放,存在内存泄漏的问题。异常安全问题。如果在malloc和free之间如果存在抛异常,那么还是有内存泄漏。这种问题就叫异常安 全。2.智能指针的使用及原理2.1 RAIIRAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内存、文件句 柄、网络连接、互斥...
原创
发布博客 2019.09.11 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

信号

信号(软中断)概念信号用于通知一个事件的发生,会打断当前操作,去处理这个事件;当然有一个前提:必须识别这个信号信号种类有很多,每个都代表不同事件信号是有生命周期:产生->注册->注销->处理kill -l //查看信号列表信号的分类​ 信号总共有62种,有两大类型​ 非可靠信号:1~31号信号​ 可靠信号:34~64号信号信号的产生​ 硬...
原创
发布博客 2019.08.18 ·
214 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程间通信

进程间通信(IPC)命令 :ipcs 查看系统的进程间通信方式ipcs:-m 查看共享内存​ -s 查看​ -q 消息队列ipcrm -m 0操作系统为用户提供的几种进程间通信方式的学习操作系统为什么要为用户提供进程间通信方式:因为进程的独立性(都操作的是自己虚拟地址空间中的虚拟地址,无法访问别人的地址)因此无法直接通信因为进程将通信的场景不同因此提供了不同的几种进程间...
原创
发布博客 2019.08.17 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

VS2017编译及使用DuiLib库

最近在使用DuiLib遇到很多问题,在一一解决完后作以总结。1. DuiLib库的下载使用git获取Duilib库:https://github.com/duilib/duilib2.库的编译库源码如下图,用VS2017打开红框文件打开后会提醒重定项目,点确定即可首次打开会报很多错误,如图:仔细观察会发现,BOOL类型是大写就不识别会报错,打开 调试->DuiLib属性,...
原创
发布博客 2019.08.15 ·
3074 阅读 ·
5 点赞 ·
0 评论 ·
17 收藏

Ubuntu下更改用户名和主机名

Ubuntu下更改用户名和主机名1.更改主机名(1) 修改hostname文件sudo vim /etc/hostname修改里面内容为新的主机名(2) 修改hosts文件sudo vim /etc/hosts修改原来的名字为新的主机名2. 更改用户名(1) 修改sudoer文件(建议在管理员权限下修改,不然无法修改)我们为自己要改的名字提前赋予较高的权限,防止修改下面文...
原创
发布博客 2019.07.08 ·
11067 阅读 ·
11 点赞 ·
4 评论 ·
57 收藏

链式二叉树

#pragma once#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef char BTDataType;typedef struct BTNode{ struct BTNode* _pLeft; struct BTNode* _pRight; BTDataType _da...
原创
发布博客 2019.06.20 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多