自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吾志所往,所向披靡

生我何用?不能欢笑,灭我何用,不减狂骄。从何而来?同生世上,齐乐而歌,行遍大道。

  • 博客(44)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 【编译错误记录】

错误原因:源码路径中有中文,或者路径中(文件夹名称)带有“(”或“)”.这里的错误就是黄色标注框——L(PROTOCOL_LIB)。Makefile语法错误,这里PROTOCOL_LIB为变量,前面应该加$。错误原因:高版本gcc和g++编译检查比较严格,无法if语句的范围,对if执行语句加上{}即可。一、【错误现象】:make时报错 /bin/sh: 1: Syntax error: "(" unexpected。解决办法:L(PROTOCOL_LIB)改为L$(PROTOCOL_LIB),即可编译过。

2023-06-12 19:52:20 1369

原创 Linux查看端口被进程占用的方法

具体的命令为:sudo ls -l /proc/$(sudo lsof -t -i:端口号) | grep exe,其中端口号为需要查询的端口号。可以使用ps命令结合grep命令来查找某个进程,然后再查看该进程打开的网络端口。具体的命令为:sudo netstat -tlnp | grep 端口号,其中端口号为需要查询的端口号。具体的命令为:sudo ss -tlnp | grep 端口号,其中端口号为需要查询的端口号。具体的命令为:sudo lsof -i :端口号,其中端口号为需要查询的端口号。

2023-04-19 10:30:31 4095

原创 Ubuntu 22.04 安装开源5G核心网(Open5GS)

安装Mongodb这里是个大坑,大部分会失败,原因是Mongodb版本和Ubuntu版本有一定对应关系,但没有明确官方说明(曾在Ubuntu16.04安装最新Mongodb失败,但是安装4.x版本却成功,但是后面安装open5gs又失败,怀疑是需要最新Ubuntu版本,于是最终选择了Ubuntu22.04),尤其是最新的Ubuntu使用的是openssl 3.0,而mongodb需要1.1版本的,需要强行安装1.1版本的(目前官方并没有文档支持22.04的ubuntu的安装方式,按照文档安装也会报错)。

2023-03-22 11:20:14 1564 1

原创 【C++】关于std::ostream的构造函数

参考博客:https://blog.csdn.net/e21105834/article/details/115859154一、问题写了一段代码相对输出流std::osteam进行操作,可是却一直报错,代码如下:#include <iostream>#include <sstream>#include <string>using namespace std;int main(int argc, char* argv[]) { ostre

2022-01-11 11:38:18 9051

原创 安装 g++ 遇到的问题Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed

使用Win10自带的Linux子系统时,在Ubuntu18.04上安装g++出现错误如下:看了很多办法,缺少依赖包,修复内核等等,都没有效果。最终,还是源的问题,换了好几个源,最终是更换为网易源可以使用,解决该问题。以下是解决步骤:1.进入/etc/apt目录下,将原有的源备份sudocp sources.list sources.list.bak2.删除sources.list,使用vim新建sources.list,然后在编辑模式下复制以下内容(网易源),最后一定记得要保..

2021-11-24 11:36:49 1559

原创 表驱动优化if-else[c++]

一、表驱动是什么?表驱动是一种编程模式,是一种将输入变量作为索引在表里查找直接的结果或者处理函数,而不是用很多的逻辑语句来进行判断(比如if-sle||switch_case).索引表可以是个数组、map或者其他高效率查找的数据结构。二、表驱动实现方式下面通过加减乘除来实现一个简易计算器,先用未优化的switch-case来实现:#include <iostream>#include <time.h>int add(int a, int b){ retur

2021-11-17 16:54:30 1463

原创 map 自定义键值类型【c++】

众所周知,map底层是一棵RBTree,主要是通过key值比较来插入。同时,map在STL中也是一个模板类,key值可以是任意类型。但是key值是自定义类型,该如何比较。首先,看下map的定义:template < class Key, //map::key_tpe class T, //map::mapped_type

2021-11-13 20:43:34 2814

原创 快速排序的函数模板方法实现(c++)

快速排序是比较常用的排序方法,算法的时间复杂度最好为O(nlogn),最坏时能达到O(n²),是一种不稳定的排序方法。快排的基本思想1.选取一个基准2.将比它”小”的放在它前面,比他“大”的放在后面3.递归处理基准位置前后的两个子区间实现步骤函数传入的是指向第一个元素的位置和指向最后一个元素的位置,还可以传入一个比较函数(compare)1.选定一个基准值我们选择中间位置的元素的值作为排序的基准值,然后将第一个指针指向开始位置,将第二个指针指向结束位置2.比较基准值,将所有元素除去

2021-11-09 23:17:34 814

原创 []c++】10个练手项目

1.写一个Json库链接:https://github.com/miloyip/json-tutorial/blob/master/tutorial01/tutorial01.md2.写一个红黑树链接:https://github.com/william-zk/RB_Tree写一个STL链接:https://github.com/Alinshans/MyTinySTL4.写一个NoSQL链接:https://www.lanqiao.cn/courses/1341写一个高..

2020-11-24 07:54:44 1065

原创 【C++】小技巧笔记

一、一个函数获得容器中最大/最小值方法:使用max_element(A, A+N),此外min_element(A, A+N)可以用来找最小的元素。以下只举了数组的例子,当然对vector、string这样的对象也是可以进行操作的,但这里不再演示。#include <stdio.h>#include <algorithm>using namespace std;int main(){ char ch[5] = {'a','b','c','e','f'};

2020-10-07 17:22:35 108

原创 计数排序笔记

计数排序提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录计数排序一、什么是计数排序?二、算法思想三、代码四、局限性一、什么是计数排序?计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。当然这是

2020-10-07 17:11:54 118

原创 【leetcode 每日一题】

【题目:】LCP 19. 秋叶收藏集小扣出去秋游,途中收集了一些红叶和黄叶,他利用这些叶子初步整理了一份秋叶收藏集 leaves, 字符串 leaves 仅包含小写字符 r 和 y, 其中字符 r 表示一片红叶,字符 y 表示一片黄叶。出于美观整齐的考虑,小扣想要将收藏集中树叶的排列调整成「红、黄、红」三部分。每部分树叶数量可以不相等,但均需大于等于 1。每次调整操作,小扣可以将一片红叶替换成黄叶或者将一片黄叶替换成红叶。请问小扣最少需要多少次调整操作才能将秋叶收藏集调整完毕。示例 1:输入:lea

2020-10-01 12:26:07 122

原创 【c++】生产者与消费者问题

单个生产者和单个消费者#include <iostream>#include <mutex>#include <condition_variable>#include <Windows.h>using namespace std;const int ITEMREPOSITORY_MAXSIZE = 10;const int ITEMTOPRODUCE_COUNT = 100;//使用环形队列struct ItemRepository{

2020-08-30 15:22:47 607

原创 【WINDOWS核心编程】windows获取路径的方法

【一】GetCurrentDirectory获取当前进程的当前目录(避免使用)DWORD GetCurrentDirectory(DWORD nBufferLength,//sizeofdirectorybufferLPTSTR lpBuffer//directorybuffer);参数说明nBufferLength 缓冲区的长度lpBuffer 指定一个预定义字串,用于装载当前目录返回值调用成功 返回装载到lpBuffer的字节数。使用GetLastError函数可获得错...

2020-08-22 22:50:00 868

原创 【WINDOWS核心编程】获取系统变量值

GetEnvironmentVariable是一个从调用该函数的进程的环境变量中返回指定的变量名值的函数,主要参数有lpName、lpBuffer等。GetEnvironmentVariable函数从调用该函数的进程的环境变量中,返回指定的变量名的值,该值是一个以零结尾的字符串指针.DWORD GetEnvironmentVariable(LPCTSTR lpName, // address of environment variable nameLPTSTR lpBuffer, // ad

2020-08-22 09:52:42 338

原创 【leetcode每日一题】20. 有效的括号

【题目:】20. 有效的括号给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]"输出: false示例5:输入: "{[]}"输出:...

2020-08-14 20:41:58 141

原创 【leetcode每日一题】面试题 16.11. 跳水板

【题目:】面试题 16.11. 跳水板你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}提示:0 < shorter <= longer0 <= k <= 100000【感受:】题很简单,但思维方式的不同决

2020-07-08 21:06:23 193

原创 【leetcode每日一题】112. 路径总和

【题目:】112. 路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回...

2020-07-07 23:05:50 158

原创 【leetcode每日一题】44. 通配符匹配

【题目:】44. 通配符匹配给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字...

2020-07-05 17:51:37 546

原创 【leetcode每日一题】108. 将有序数组转换为二叉搜索树

【题目:】108. 将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / /-10 5【思路】:先想二叉搜索树的定义和特性:二叉查找树...

2020-07-03 23:25:34 146

原创 【c++】函数time和clock的计时区别

CLOCK函数:clock_t clock(void),返回从“开启这个程序进程”到“程序中调用clock函数”时之间的CPU时钟计时单元(clock tick数)。TIME函数:time_t time(time_t *timer),返回从纪元Epoch(UTC:1970-01-01 00:00:00)到当前时刻的秒数。区别:1.time函数计时是现实中正常的秒数,而clock函数计算的是耗用多少个CPU的时钟单元2.sleep()并不占用cpu资源,所以clock不会计算在内.

2020-07-02 23:14:43 1287

原创 [C++]stack使用总结

stack使用总结什么是栈?使用和常用函数使用需包含头文件模板参数栈初始化常用函数小技巧什么是栈?1.栈(stack)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);

2020-06-30 23:34:53 1538

原创 【leetcode每日一题】09. 用两个栈实现队列

【题目:】 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHe

2020-06-30 22:56:48 179

原创 【leetcode每日一题】215. 数组中的第K个最大元素

【题目:】215. 数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。【懒人做法:】利用c++已有函数进行升序排序,然后第n-k个元素就是所求值。#include&l.

2020-06-29 23:10:03 120

原创 【c++】常用函数详解

一、snprintfC 标准库函数,需要头文件#include <stdio.h>int snprintf(char *str, size_t size, const char *format, ...)设将可变参数(...)按照 format 格式化成字符串,并将字符串复制到 str 中,size 为要写入的字符的最大数目,超过 size 会被截断。参数:str:目标字符串。size:拷贝字节数(Bytes)。format:格式化成字符串。......

2020-06-11 23:16:21 328

原创 linux命令--文件夹重命名

Linux文件重命名有两种方式:mv和rename一、mvmv srcFile destFilemv一次只能重命名一个文件,而且,它是移动命令。如果destFile已经存在的话,会直接装原文件覆盖,从而造成文件的丢失。二、renamerename arg1 arg2 arg3rename才是真正的批量重命名命令。而且他是3个参数,不是2个。arg1:旧的字符串arg2:新的字符串arg3:匹配要重命名的文件,可以使用3种通配符,*、?、[char],*表示任意...

2020-06-07 18:16:09 9399

原创 [C++]vector使用总结

vector什么是Vector?容器特性使用和常用函数使用需包含头文件构造函数插入函数删除函数小技巧vector去重两种方法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章U...

2020-05-03 22:25:05 382

原创 牛客网华为机试笔记【11~20】

11.数字颠倒【思路】:基础题,简单办法就是不要跟着题目标准输入来,直接将输入当作字符串,反向遍历#include <iostream>#include <string>using namespace std;int main(){ string s; while(cin>>s) { for(int i=...

2020-03-31 22:47:27 318

原创 牛客网华为机试笔记【1~10】

1.计算字符串最后一个单词的长度,单词以空格隔开。【思路一】:倒着结算,从结束符开始,到下一个空格为止,就是最后一个单词的长度,但要考虑以空格为结尾的特殊情况#include <iostream>#include <string>using namespace std;int main(){ string s; while(getline(cin...

2020-03-30 22:41:25 312

原创 qt安装时“Error during installation process(qt.tools.perl):Execution failed”的解决办法

【问题】:【解决办法】:不要取消安装(取消后就找不到strawbery-perl-5.22.1.3-32bit.msi该文件),找到相应路径下的strawbery.msi自己双击,自己安装,安装后点击ignore,继续安装即可。(比如,我的安装路径就是D:\Qt\Qt5.10.1\Tools\Perl52213_32\下面的strawbery-perl-5.22.1.3-32bit....

2020-03-26 09:53:00 4590 2

原创 【numpy】np.array和np.asarray区别

array和asarray都可将结构数据转换为ndarray类型。但是主要区别就是当数据源是ndarray时,array仍会copy出一个副本,占用新的内存,但asarray不会。一、输入都为列表lst1=[[1,1,1],[1,1,1],[1,1,1]] arr2=np.array(lst1) arr3=np.asarray(lst1) lst1[1][1]=2pri...

2020-02-29 14:50:29 2660 2

原创 【python】斐波那契数列(Fibonacci)的N种解法

【题目描述】:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39【要求】:时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M一看到斐波那契数列,就想到递归,太简单了,三下五去二就做完了。虽然输出结果是正确的,但往往面试时越简单的题,陷阱越多,不是加有限制条件,就是考察编程语言的...

2020-02-17 21:46:38 992

原创 【python】九九乘法表你真的会了吗?

九九乘法表基本是初学者练手的一道编程题目,面试时遇到这种题目简直就是送分题,但这种送分题往往也是初入职场面试时的一道送命题,因为连这种题都不会,后面基本gg了.....尤其针对python语言往往和列表推导式联系一起,考察语言熟悉程度。1.左下角乘法表(大家最熟悉的)常规方法两个循环搞定for i in range(1,10): for j in range(1,i+1)...

2020-02-03 11:57:59 1532

原创 记一次ubuntu16.04+python3+cuda10.0下安装caffe实操

【起因:】tensorflow,caffe,pytorch三选其一,是深度学习必须要过一道坎。tensorflow就不说了,只要cuda版本对上,安装就很简单。pytorch听说也不难。caffe试过都说到处是坑,网上一搜,全部都是踩坑记,血泪史之类,今天就来扒一扒这个坑。【步骤:】一.我的环境ubuntu16.04+python3.5+cuda 10.0关于如何安装nvidia驱...

2020-01-09 18:31:21 2087

原创 nvcc-V显示信息与安装的CUDA版本不一致问题解决方案

【问题:】安装了cuda10.0,却发现nvcc -v查询到的版本信息却是7.5,我也没装双版本cuda,于是网上查询一番才发现原来cuda只是个工具包,nvcc是专门对cuda工具包进行编译的,两者没有什么共生关系。具体区别可以参考:https://cloud.tencent.com/developer/article/1536738 那怎么解决呢?【解决方法:】...

2020-01-09 17:10:35 15450 5

原创 Ubuntu16.04下安装opencv3.4.5和opencv3.4.5_contribute(踩坑记录)

【起因:】因为安装caffe需要opencv里的一些依赖项,于是又在ubuntu下安装一遍opencv3.4.5和opencv3.4.5_contribute,本以为很简单,因为前面在windows下已经用cmake方法安装过一次(https://blog.csdn.net/qq525003138/article/details/94754200),没想到换到ubuntu系统下,耗费了三天的时间,...

2020-01-09 16:21:01 2116 1

原创 图像处理——简单浮雕效果和倒影效果实战

一、浮雕效果【原理:】每个像素的RGB值都设置为该位置的初始值减去其右下方第二的像素的差,最后统一加上128用于控制灰度,显示出类似浮雕的灰色。这样处理的思路是,将图像上的每个点与它的对角线的像素点形成差值,这样淡化相似的颜色,突出不同的颜色、边缘,从而使图像产生纵深感,产生类似于浮雕的效果。我采用的是循环减去每个像素后面第五个值,效果看起来还不错。【代码:】void embossE...

2019-12-08 22:40:19 808

转载 【python】用yield生成器模拟Linux中命令:tail -f file | grep python 用于查找监控日志文件中出现有python字样的行

【准备】:python文件读取f.seek的参数说明file.seek()方法标准格式是:seek(offset,whence=0)offset:开始的偏移量,也就是代表需要移动偏移的字节数whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。默认为0yield作用和用法:https://b...

2019-09-26 22:37:41 177

原创 【python】实现输出格式参数化小技巧

【起因】:看见别人一段代码(如下图),没想到格式化还可以这样用,于是研究了一下,发现对格式化输出了解的太少,特此总结下【总结】:python格式化字符串有%和{}两种格式化控制符.一、字符串格式控制%[(name)][flag][width][.][precision]typename:可为空,数字(占位),命名(传递参数名,不能以数字开头)以字典格式映射格式化,其为键名f...

2019-09-26 22:17:34 1056

原创 关于错误:OOM ResourceExhaustedError 的原因及解决方式

【错误】:我使用SSD训练图片分类器,参数大概有几百万个并不是很多,然而报错OOM ResourceExhaustedError【原因】:(1)batchsize太大,这种只需要将batchsize减小就行了(2)GPU的显存太小,或者剩余的显存太少了【解决方法】:(1)查看GPU显存大小,再计算自己模型和参数量占用显存的大小,如果大于或者接近等于显存容量,换显卡或者减小模...

2019-09-08 17:19:38 1755

opencv3.4.5+contribute.zip

cmake opencv3.4.5时不容易下载得几个模块文件和单独提取出的一份c++工程用的opencv3.4.5依赖头文件和lib、dll库,可以直接在vs中使用

2019-07-05

网络规划设计师历年真题

网络规划设计师2009下半年试题; 网络规划设计师2010上半年试题; 网络规划设计师2010下半年试题; 网络规划设计师2011下半年试题; 09和10年试题分析和答案;

2012-10-29

GNS3 0.7.4(最新版)

最新版本GNS3(0.7.4),可以支持到win764四位旗舰版,本人亲自安装过,绝不欺骗;里面附带c3600ios,可以直接使用,省去找资源的麻烦~

2011-12-03

计算机网络第五版课后习题答案(谢希仁 著)

计算机网络第五版课后习题答案(谢希仁 著) 文件分两版:一份word版,适合打印; 一份pdf,适合电脑阅读;

2011-12-03

校园网设置与配置实例

本文以实例的方式对校园网的设计方案进行分析并给出相应的大致的配置步骤,配置命令和方法。

2011-11-07

将数据库数据显示到树视图中

将数据库数据显示到树视图的简单程序,可以将数据库和树形视图连接起来

2011-10-17

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

TA关注的人

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