自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向着曙光前进的博客

有错千万别放过,使劲怼,让我长长记性

  • 博客(99)
  • 收藏
  • 关注

原创 C++线程池

目录线程池描述线程池的概念线程池的工作机制使用线程池的原因源码加注解线程池描述线程池的概念线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。线程池的工作机制1:在线程池的编程模式下,任务是提交给整个线程池,而不是直接提交给某个线程,线程池在拿到任务后,就在内部寻找是否有空闲的线程

2021-11-12 15:39:49 1870

原创 记录一些C++细节

问题目录1.编译器在输出const数据时是直接从符号表里获取,而不是从地址查询表现形式源码结果反汇编结果结论1.编译器在输出const数据时是直接从符号表里获取,而不是从地址查询表现形式地址相同,输出结果去不同源码 const int a = 5; int& b = const_cast<int&>(a); b = 6; cout << &b << " " << &a << " " <<

2021-11-11 17:31:37 436

原创 UE4安装错误

目录PathTooLongExceptionCorruptPackFileExceptionPathTooLongException路径太长,是因为.net版本过低,更新以后即可解决CorruptPackFileException这个问题是http协议出错,需要使用https协议修改方式为:进入目录Engine\Build,找到文件Commit.gitdeps.xml修改其中的 BaseUrl="http://cdn.unrealengine.com/dependencies为 BaseU

2021-06-17 17:23:45 4204 4

原创 在vs2019中使用C++调用C#生成的dll

在vs2019中使用C++调用C#生成的dll引言C#生成dll创建工程配置工程属性编写代码生成dllC++使用C#dllSeccessful!引言网上有很多篇相关博客,我为什么还要写这篇博客呢?原因很简单,就是网上的博客写的并不详细,不是给新手学习是用的,而是供老手回忆的。这样并不能让新手快速入手。接下来我将以一个新手的视角讲解C#如何生成dll,C++又是如何调用。C#生成dll创建工程打开vs2019,点击新项目,在上面的筛选条件中选中如图所示的条件,最后在下面选中“类库(.NET

2021-04-27 16:02:12 2608 4

原创 (初学者)使用go搭建简单的服务器(计算器)

go 服务器搭建通讯协议protouml使用方式效果服务器端客户端tcp封包解包协议通讯协议protoCS // 客户端到服务器 SC // 服务器到客户端proto: type csproto struct { // 两个数字 a int b int } type scproto struct { // 结果 ans int } // 判断是什么指令协议在更上一层 type data name { msg_id int // 操作id msg_data []b

2020-09-11 09:44:57 556

转载 perf 安装使用 (转载)

perf是由Linux Kernel提供的动态追踪调试工具,我们可以使用perf对运行时的程序进行分析相比单纯依赖log,core进行离线排查,perf是一种在线的调试手段,可以在线上随时进行采样并进行分析,无需预先埋点,所带来的只是采样时间段内的一些性能损耗,这种特性使perf很适合于排查未知的问题perf生成的运行时栈可以通过FlameGraph生成交互式的图表,可以更方便地分析热点安装perfsudo apt-get install linux-tools-common linux-to..

2020-08-25 18:43:28 2337

转载 psftp基本使用

1、cd 切换目录。 eg. cd /root2、ls 查看目录文件。eg. ls /root 查看目标目录文件;ls 查看当前所属目录文件3、get [fileName]下载文件到当前本地目录 。eg. get discuz.zip 下载远程当前目录下的discuz.zip文件4、get -r [dir] 递归下载远程某个目录下的所有文件到当前本地目录即下载文件夹。eg. get -r /root/discuz 将discuz文件夹下载到本地5、put [fileNam

2020-08-24 17:37:27 672

原创 lua中两个(以上)dll使用不同的lua静态库导致垃圾回收时程序崩溃

仔细看了崩溃的代码以后,发现了一点蛛丝马迹:在luaopen_testlua函数里的的调用如下:lua_newtable----->lua_createtable---->luaH_new,在这个函数里可以看到这些:Table *luaH_new (lua_State *L, int narray, int nhash){Table *t = luaM_new(L, Tab...

2019-11-27 15:00:45 572

原创 使用C++搭建简单服务器与浏览器交互,使用cpp-httplib

文章目录cpp-httplip githubservice codehtml code目录结构json库cpp-httplip githublgithub地址service code#include "http_service.h"#include "../json/include/nlohmann/json.hpp"#include <iostream>#include...

2019-11-05 11:26:00 10296 11

原创 记录一些项目出现的小问题(自用)

目录VS2017设置根目录mysql编译错误protobuf编译错误变长参数读取权限错误VS2017设置根目录设置根目录(相对路径):选择当前目录为路径起点,如下图添加 ".\"当前目录:大概率为.vcxproj文件所在目录mysql编译错误#include "mysql.h"#include <winsock.h> //头文件顺序错误,将上面头文件调换顺序////...

2019-08-23 17:19:38 285

转载 C++利用MysqlAPI连接数据库

数据库相关API连接1、为工程附加目录,将MySQL Server xx/include文件添加,我这是VS2015然后再将MySQL Server xx/lib下的libmysql.dll和libmysql.lib复制到我们工程项目文件下连接所需要的头文件和库#include <winsock.h> //注意这两个头文件的次序不能放错#include "m...

2019-08-22 14:26:14 238

转载 浅谈sdk

SDK,全称:Software Development Kit,作为一种软件产品为程序员所熟知。SDK由程序员开发,提供给程序员,有着非常独特的开发和设计特点。如果说语言是程序员与设备的交流,那么SDK完成程序员与程序员之间的交流。开发SDK的程序员,往往需要作为程序员设身处地的思考,应该提供一个怎样的产品。一份可用的文档:为什么要有文档?程序员大部分情况下并不喜欢写文档,而同时大部分情...

2019-08-12 10:20:22 312

原创 初识boost.asio库

目录boost安装教程啥也不说,咱们代码见service_codeclient_code简单意义解释lambada函数简单介绍boost安装教程window跟着这个教程走,安装没问题linux 自己百度一下就好了,教程蛮多的啥也不说,咱们代码见service_code#include <boost/bind.hpp>#include<boost/asio.hpp&g...

2019-08-08 16:57:55 1052

原创 Boost.asio 常用函数用法 (自用)

目录头文件常用类常用函数ps:适合有一点点基础的看,什么都不知道的不太看得懂头文件#include <boost/bind.hpp> // 绑定handler用#include<boost/asio.hpp> // 必要,使用asio库#include<boost/smart_ptr.hpp> // 自带的智能指针常用类boost::asio:...

2019-08-07 09:59:51 847

转载 boost::ASIO的同步方式和异步方式

http://blog.csdn.net/zhuky/article/details/5364574http://blog.csdn.net/zhuky/article/details/5364685Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。头文件#include <boost/asio.hpp>名空间us...

2019-07-17 17:30:23 777

原创 剑指offer 求出1 ~ 13的整数中1出现的次数 求和

求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。数位dp,剑指offer解题思路:对于数据过大的题目而言有两种考虑* 推...

2019-07-12 17:18:35 332

原创 MySQL常用指令(自用)

目录:常用查看指令数据库使用指令其他指令常用查看指令注意: [database_name] = 你要进入的数据库名字 ex: use db; 表示进入数据库db,后面若有类似情况,参看此例。* 启动mysql服务器: net start mysql* 关闭mysql服务器: net stop mysql* 进入数据库: mysql -uroot -p* 退出数据库:exitl;* 查...

2019-07-11 11:12:14 281

原创 C++知识备忘录(自用)

目录:__DATE__和__TMIE__使用__DATE__和__TMIE__使用#include<iostream>using namespace std;// 注意,是双下划线,而不是单下划线 无需额外头文件// __FILE__ 包含当前程序文件名的字符串 // __LINE__ 表示当前行号的整数 // __DATE__ 包含当前日期的字符串 // __S...

2019-07-10 09:48:08 308

原创 Windows 下 protocol buffer 安装教程

目录:下载protocol buffer链接下载protocol buffer链接github下载:源码获取github下载:压缩包获取cpp3.8.0版本:提取码:

2019-07-08 16:47:36 1854 3

原创 protocol buffer 小知识备忘录

备忘录proto buffer 备忘录使用protoc命令对我们定义的message.proto文件进行编译ProtoBuf数据类型proto buffer 备忘录使用protoc命令对我们定义的message.proto文件进行编译// $SRC_DIR 表示.proto文件所在目录;// cpp_out 表示当前用于C++语言;// $DST_DIR 表示编译生成文件的路径;pr...

2019-07-08 16:03:21 232

原创 inux用户名和密码的修改

linux用户名和密码的修改用户名修改修改hosts文件修改passwd文件修改目录密码修改用户名修改1.修改shadow文件2.修改passwd文件3.修改目录修改hosts文件 命令:vi /etc/shadow 这个文件中存储与登陆有关的内容格式如下: username: passwd: lastchg: min: max: warn: inactive: expir...

2019-05-28 10:59:45 255

转载 linux 命令行 大全(常用)

Linux常用命令大全(非常全!!!)最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用...

2019-05-21 10:02:57 23077 4

转载 linux下编译C++文件基本命令

一个C/C++源代码要变成一个可执行文件,需要经过预处理(Pre-processing)-编译(Compiling)-汇编(Assembling)-链接(Link) 基本流程为: test.c --预处理--test.i --编译-- test.s --汇编-- test.o --链接-- test.exe预处理-E 选项使用g++/gcc将源代码...

2019-05-21 09:40:21 3228

转载 linux 多行注解与删除

1.多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)“I”键,进入插入模式; 4. 然后输入注释符(“//”、“#”等); 5. 最后按下“Esc”键。注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的2.删除多行注释:...

2019-05-17 12:10:02 1470

原创 数位DP——2018数,吉比特笔试题

题目:给定一个n求1到n之间的2018数,2018数数字中含有 2018即为2018数例如,210198,32108;10218不是2018数,数据范围1e9;解法:数位dp,数位dp理解,记忆话加递归,将每一位的数字状态保存下来,以后用到时直接调用结果代码中写了我对此题的理解 ,可能对大家有点帮助,数位dp入门参看:https://blog.csdn.net/qq_37632935/...

2019-04-23 22:43:58 384

原创 C++智能指针

为什么C++要引入智能指针?智能指针的引入是为了解决程序员动态分配内存后的删除十分麻烦的问题。简单的说就是解决堆栈内存泄露。智能指针的作用:理解智能指针需要从下面三个层次:从较浅的层面看,智能指针是利用了一种叫做RAII(资源获取即初始化)的技术对普通的指针进行封装,这使得智能指针实质是一个对象,行为表现的却像一个指针。 智能指针的作用是防止忘记调用delete释放内存和程序异...

2019-04-22 15:03:44 186

原创 file:///media/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/repodata/repomd.x

yum makecache已加载插件:fastestmirror, langpacksDetermining fastest mirrorsfile:///media/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/repodata/repomd.xml"正在尝试其它镜像。One of the...

2019-04-14 11:10:52 11369 2

原创 pip升级第二条指令

pip install --user --upgrade pip

2019-04-09 12:50:26 374

转载 网络游戏中的协议选择

在网络游戏开发中,通讯协议是一个无法被避免的问题,无论对于客户端开发中还是服务器开发程序猿而言,制定一个合适的通讯协议是很有必要的游戏联网需求有弱联网游戏,即时互动类游戏选择通讯协议的时候主要关注于延迟低,易用,低成本等下面对比TCP,UDP,HTTP,WebSocket 四种协议优缺点、特性TCP:优点:可靠性 、全双工协议、开源支持多、应用较广泛、面向连接、研发成本...

2019-04-06 13:55:45 2635

原创 unity之Mathf常用函数

using System.Collections;using System.Collections.Generic;using UnityEngine;public class API10Mathf : MonoBehaviour { public Transform cube; // Use this for initialization void Star...

2019-04-04 16:32:29 1637

原创 几种Invoke调用方式和unity协程

一,几种Invoke调用方式using System.Collections;using System.Collections.Generic;using UnityEngine;public class API07Invoke : MonoBehaviour { // Use this for initialization void Start () { /...

2019-04-03 21:08:26 2861

原创 API使用之GameObject创建

三种创建方式:1. 构造方法 GameObject go = new GameObject("cube");//cube是名字自己命名2. Instantiate GameObject go = GameObject.Instantiate(prefab);//prefab 设置为了 cube go.GetComponent<Transform&gt...

2019-04-03 11:19:04 1799

原创 unity AssetBundle 使用

一、什么是AssetBundle?可以归为两点:1,它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件) serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个) resource files:...

2019-04-02 20:24:25 373

转载 unity 委托和事件

在面试中,委托与事件几乎是必问的。如果面试官和面试者互不相识,面试官不问委托,那我严重怀疑这家公司的技术水平,这个可以说是C#入门与掌握的分水岭之一,非常重要。所以,这里我整理一片笔记,对委托和事件做一个全面的整理和归纳。这里重在理解,只有理解了才能真正掌握它。目录为什么C#会有委托事件?2.观察者模式的缺陷:3.为什么要费这么大劲?4.委托?事件?封装!5.是不是还少了点什么?为...

2019-04-02 18:10:28 1150

原创 纹理渲染

#include <glad/glad.h>#include <GLFW/glfw3.h>#include<iostream>#include"shader.h"#include"stb_image.h"#include<string>using namespace std;void framebuffer_size_callback...

2019-04-01 20:32:28 727

原创 你好,三角形

#include <glad/glad.h>#include <GLFW/glfw3.h>#include<iostream>using namespace std;void framebuffer_size_callback(GLFWwindow* window, int width, int height){ glViewport(0, 0, ...

2019-03-31 10:07:51 244

原创 CoderForces 479 div3 前五题

Wellcome to my csdn, Thank you !This is CoderForces 479 div3.Wellcome to my csdn, Thank you !This is CoderForces 479 div3.The first one “Wrong Subtraction”The second one “Two-gram”The third ...

2018-05-07 13:06:02 191

原创 《五一Git实践》

一、版本控制1.三种主流2.集中式和分布式3.Git and Github 二、日常开发中的版本控制1.Git介绍页面三、Git和版本控制术语1.Git的核心四、Mac/Linux设置1.创建目录及简单的使用五、Wpindows设置步骤1.用Windows系统进行同样的操作六、总结设置好完整的git创建远程仓库:新建、克隆、判断仓库状态查看仓库历史记录:显示仓库的commit、更改git log显...

2018-04-30 19:06:30 221

原创 Romantic

Problem Description The Sky is Sprite.The Birds is Fly in the Sky.The Wind is Wonderful.Blew Throw the TreesTrees are Shaking, Leaves are Falling.Lovers Walk passing, and so are You. ....................

2018-04-26 15:48:11 408

原创 Edit Distance

设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B 所用的最少字符操作数称为字符串A到B 的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2 个字符串A和B,计算出它们的编辑距离d(A,B)。输入第一行是字符串A,文件的第二行是字符串B。字...

2018-04-26 09:32:53 905

空空如也

空空如也

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

TA关注的人

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