自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中的完美转发问题

#include<iostream>using namespace std;template<typename T>void Test(T&) { cout << "左值版本" << endl;}template<typename T>void Test(T&&) { cout << "右值版本" << endl;}template<typename T>v

2020-09-01 21:42:51 341

原创 Unity中的三种Update调用的区别

本文主要内容是:Unity中Update,FixedUpdate,LateUpdate的区别前置tips:帧率随着渲染时间变化场景内的不同物体,每一帧都会调用Update,但调用先后顺序是随机的UpdateUpdate每帧调用一次,帧与帧之间时间间隔受到当前渲染时间的影响。FixedUpdate由于Update的帧间隔不固定,为了获得更好的游戏表现(如果帧间隔过于波动,在读取输入键鼠输入或更新一些物理属性时,表现会不够平滑),希望在固定时间间隔内进行一些操作,这时可以使用Fixed

2020-08-30 20:02:16 1598

原创 C++ 类成员函数与虚函数

什么类成员函数不能成为虚函数构造函数,虚函数是运行时多态,必须根据对象类型动态绑定。而调用构造函数时还不存在对象。static成员函数,属于一个类,而不特属于某个对象,因此不能是虚函数。内联函数,内联在编译时展开,而虚函数是运行时动态绑定。什么类成员函数必须成为虚函数当一个类作为基类时,其析构函数必须是虚函数,否则可能没办法正确析构其派生类看以下几段代码:#include<iostream>using namespace std;class Base{public:

2020-08-30 11:31:14 1423

原创 C++ STL容器 迭代器失效的问题

vector容器迭代器失效情况插入(push_back)元素时size超过capacity,则全部失效size没超过capacity,则当进行删除操作(erase,pop_back)后,指向删除点的迭代器全部失效;指向删除点后面的元素的迭代器也将全部失效。deque容器迭代器失效情况在deque容器首部或者尾部插入元素不会使得任何迭代器失效。(因为deque添加元素,并不会引起缓冲区的重新分配,重新分配的是中控器的空间)在其首部或尾部删除元素则只会使指向被删除元素的迭代器失效。在d

2020-08-30 10:55:16 234

原创 Go协程阻塞太长时间会发生什么?

https://www.cnblogs.com/linguanh/p/9510746.htmlhttps://juejin.im/post/6844903846825705485线程调度由OS全权负责,线程遇到一些系统调用(比如I/O)时,可能阻塞,也可能立即返回。那么Go协程如果阻塞太长时间,会发生什么?这涉及到Go的GMP调度模型。GMP各自的角色G (Goroutine),协程,每次代码中使用 go 关键词时候都会创建的对象M (Work Thread),工作线程P (Proces.

2020-08-29 12:10:08 2758

原创 Unity Shader中的透明度混合与渲染顺序

https://www.zhihu.com/question/60898307https://www.jianshu.com/p/e953e937e210在学习冯乐乐的《Unity Shader入门精要》时有了一个疑问:为什么半透明模型的渲染要使用深度测试而关闭深度写入?深度测试与混合的大概流程深度测试与深度写入是什么关系?深度测试的意义在于舍弃片元与否。深度写入的意义在于深度测试的基础上,要不要覆盖深度缓冲,即重新设立深度测试的标准。因此,结论如下:进行半透明渲染需要开启深度测.

2020-08-27 23:14:57 468

原创 对设计模式的理解与cpp11实现

http://design-patterns.readthedocs.org/zh_CN/latest/index.htmlhttps://github.com/Waleon/DesignPatterns设计模式创建型模式简单工厂模式(Simple Factory Pattern)工厂方法模式(Factory Method Pattern)抽象工厂模式(Abstract Factory)创建型模式简单工厂模式工厂方法模式抽象工厂模式建造者模式单例模式简单工厂模式(Simple Fa.

2020-08-19 19:37:36 150

原创 Windows_dear imgui构建笔记

本文汇总了我在Windows下构建Dear ImGui for Unity及其相关的三个项目(Dear ImGui、ImGui.Net、cimgui)的笔记。唯一参考的文档是官方仓库,构建过程中遇到一些环境问题、工具问题,幸好VS2017和CMake够多人用,这些问题都得到了解决。Dear ImGuiDear ImGui for UnityImGui.Netcimgui如有建议、疑问,欢迎留言。...

2020-08-10 16:34:04 342 1

原创 Windows下构建Dear ImGui

You need CMakeInstall CMake链接:https://pan.baidu.com/s/1e9KJsbonsV_bVyh0c_blrw提取码:7zvmtype in cmd: cmake -versionto check your CMake versionHow to use CMakehttps://blog.csdn.net/finghting321/article/details/105528436#1.%20CMake%E7%AE%80%E4%BB%8BC

2020-08-10 16:26:02 975

原创 Windows下构建Dear ImGui for Unity

https://github.com/realgamessoftware/dear-imgui-unityhttps://www.jianshu.com/p/2a7a35454f3aadd package参考官方仓库的提示,Add package,(这一步可以看这里)Window - 包管理器 - 从git URL添加添加包。添加组件这时已经安装好dear imgui组件了,可以把它添加到场景中的一个组件上:播放:...

2020-08-10 16:24:30 237

原创 Windows下构建ImGui.Net

工具Visual Studio 2017操作下载项目git clone https://github.com/mellinoe/ImGui.NET.git编译右键以下两个项目并调试:ImGui.NET.SampleProgramImGui.NET.SampleProgram.XNAError fix中间遇到一些问题:SDK版本不对去微软官网下载安装对应版本由于设置了代理被远程服务器拒绝连接关闭代理(也许在环境变量中)nuget源无对应资源,404 NOT FOUN

2020-08-03 21:44:28 1069

原创 Windows下构建cimgui

工具Visual Studio 2017CMake Gui操作下载项目git clone --recursive https://github.com/cimgui/cimgui.gitgit submodule updateCMake编译产生cimgui.libps:这里的cimgui-master是我偷懒直接下载zip,建议还是git clone从左到右依次编译、产生、打开项目菜单栏选择项目-属性注意这里的目标文件扩展名和配置类型是.lib右键cimgui项目,生成。回

2020-08-02 22:05:47 681

转载 DirectX11开发 error LNK2019:无法解析的外部符号

https://blog.csdn.net/Captain_Jackson/article/details/48374371今天在windows下用VS2017和CMake gui构建dear imgui时,遇到标题所示的问题。参考引用1的方法,解决了问题,感谢原作者!以下是转载内容:在DirectX11开发的时候会遇到这样的错误,然而却找不到出错的地方。自己的几个小时查找和尝试,终于解决了。调试程序的时候,如果没加部分重要库,一般提示如下:error LNK2019: 无法解析的外部符号 _.

2020-07-31 14:53:54 642

原创 TIME_WAIT状态过多怎么办?关于tw_reuse和tw_recycle

https://www.cnblogs.com/whx7762/p/9413787.htmlhttps://cloud.tencent.com/developer/article/1412003https://www.cnblogs.com/lulu/p/4149312.html问题这种情况比较常见,一些爬虫服务器或者WEB服务器(如果网管在安装的时候没有做内核参数优化的话)上经常会遇到这个问题,这个问题是怎么产生的呢?1.防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次.

2020-07-29 09:58:13 562

原创 Unity

反编译与反混淆工具反混淆工具:de4dot

2020-07-16 10:22:06 73

原创 texlive-problem-fixes

https://www.jianshu.com/p/cfdb8af40a9a目录在tex引入.sty或.cls或资源介绍一种简单的方法详细的配置方法添加包(类)搜索路径添加资源文件搜索路径总结在tex引入.sty或.cls或资源介绍在我们使用 LaTeX 的过程中,经常会创建一些我们自己的 .sty 和 .cls 文件。本文介绍了如何设置 texlive 的搜索路径,使其能够搜索到我们自定义的包或者类文件。本文主要参考了 Where do I place my own .sty or .cls .

2020-07-01 10:46:00 239

原创 用rm递归删除当前目录下所有.o文件

为了视觉方便,想删除编译后的.o文件find . -name “*.o” | xargs rm -f

2020-06-30 17:15:19 994

原创 Go语言 用数据库实现分布式锁

业务场景:该服务需要每隔固定时间同步一次数据库,服务部署在多台机器,我们只希望同时有一台机器在做同步操作。实现:用一个scheduler.go跑线程//scheduler.gotype Scheduler struct {}var scheduler *Schedulervar scheduler_once sync.Oncefunc GetSchedulerInstance() *Scheduler { scheduler_once.Do(func() { scheduler =

2020-06-29 09:32:05 564

原创 浅谈C++中的重载、重写(覆盖)、隐藏

https://www.cnblogs.com/lsgxeva/p/7684545.htmlhttps://blog.csdn.net/K346K346/article/details/49386747首先抛一些结论:重载发生在同一作用域具有相同的函数名及不同的参数列表对返回值不做要求,可相等可不等重写(覆盖)发生在基类与派生类之间,在不同作用域具有相同的函数名、参数列表、返回类型(关于返回类型存在一种特殊情况,即返回类型可以不用完全一致,协变返回类型(covariant ret.

2020-06-28 17:26:41 211

原创 Visual Studio的批量注释与批量取消注释

首先选中需要批量注释或取消注释的若干行注释: 先CTRL+K,然后CTRL+C取消注释: 先CTRL+K,然后CTRL+U

2020-06-26 13:49:06 929 1

原创 pngsplit用于分解大图png

如标题,pngsplit可以导入一张大图,并一键将大图中的所有子图导出到软件所在目录的文件夹里。链接:https://pan.baidu.com/s/1hsXny3E 密码:bdok拖拽一张大图到软件右键,选择导出所有子图可以看到.exe所在的目录下已经有了每个子图...

2020-06-19 13:38:43 1716 2

原创 图集转换为plist

使用cocos社区的开源软件 闪影V1.0目前版本的下载页面https://forum.cocos.org/t/v0-90/76134如何用闪影自由分割图集文件https://forum.cocos.org/t/topic/65149

2020-06-19 11:21:25 533

原创 一些像素素材网站

精灵数据库http://spritedatabase.net/精灵资源(强烈推荐)http://www.spriters-resource.com/像素画小组http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=group&gid=34494

2020-06-19 10:02:22 6775 2

原创 github-problem fixes

依次运行:git add .git commit -m 'backup'git stash继续pull:git pull origin 分支名

2020-06-15 16:22:19 415 2

原创 Linux MongoDB 安装踩坑实记

systemctl start mongodb时报错如下mongodb.service - mongodb Loaded: loaded (/usr/lib/systemd/system/mongodb.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sun 2020-05-17 16:28:28 CST; 13s ago Process: 1597 Exec

2020-05-17 16:54:49 1315

原创 Linux C+驱动MongoDB遇到的问题

问题1描述:终端输入mongod -version可以看到mongod版本。输入mongod报错如下exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating解决方式:终端输入:sudo mkdir /data/db/ -p及密码问题2描述:输入mongod报错如下exception in initAndListen: IllegalOperation: Attemp

2020-05-16 16:01:35 217

原创 STL中unordered_map的常用方法

官方文档有比本文更加全面的API说明:http://www.cplusplus.com/reference/unordered_map/unordered_map/以下主要记录一些最常用的API:#include<unordered_map>using namespace std;int main(){ unordered_map <string, int> hash; //以下是三种插入键值对的方法 hash["Apple"] = 1; //如果原先

2020-05-15 09:30:46 886

转载 彻底学会使用Epoll——

ET实现模式分析:https://yq.aliyun.com/articles/495842?spm=a2c4e.11153940.0.0.61cf4d40BBz2x2ET和LT的触发方式:https://yq.aliyun.com/articles/495841?spm=a2c4e.11153940.0.0.5a375538tETw4DET的读操作实例:https://yq.aliyun.com/articles/495840?spm=a2c4e.11153940.0.0.35344d40aHyaY.

2020-05-13 15:49:02 128

原创 do...while(0)妙用

1、使宏定义更安全2、在需要错误处理时,减少代码冗余度和goto的使用1、假设有如下代码:#define p {A;B}...if(COND) p;//不符合编程习惯————通常语句后加分号else ....当然,如果上述语句不加分号,是不会出现问题的。用do…while(0)的好处是可以将加分号贯彻到底。#define p do{A;B;}while(0)2、处理错误时...

2020-05-10 11:58:57 218

原创 C++ malloc浅析

https://www.cnblogs.com/zpcoding/p/10808969.htmlmalloc底层实现与两个系统调用缺页中断1、size小于128k,使用brkbrk引起的碎片问题2、size大于128k,使用mmapmalloc失败malloc与new辨析底层实现与两个系统调用本篇讲讲malloc底层是如何实现的。在32位系统里,进程地址空间分为以下几块:代码段(.text)、数据段(.data)、堆、栈、内核空间(3G-4G)。其中堆和栈中间空着一块区域,在使用malloc和.

2020-05-10 11:57:35 1612

原创 学习笔记 Linux高性能服务器编程

《Linux高性能服务器编程》 游双著Linux高性能服务器编程IP协议详解IP服务特点无状态无连接不可靠IPv4头部结构IP路由IP路由表怎么更新IPv6TCP协议详解TCP服务的特点TCP头部结构TCP三次握手TCP状态转移过程TCP的复位(RST)报文段TCP交互数据流TCP成块数据流TCP超时重传TCP拥塞控制Linux网络编程API1.socket地址API1.1 主机字节序和网络字节序1.2 通用socket地址1.3 专用socket地址1.4 IP 地址转换函数2.socket基础AP.

2020-05-10 11:51:21 3096

原创 Notepad++ 使用笔记

FTP报错使用Notepad++的FTP插件,远程编辑Linux文件出错。错误一:Upload of xxx failed错误二:Unable to create directory直接放解决方案:编辑/etc/vsftpd.conf为如下文本:anonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESdir

2020-05-10 11:38:25 507

原创 CLion 使用笔记

CLion 2019.3CLion 使用笔记BUGundefined reference to `pthread_create'BUGundefined reference to `pthread_create’错误信息:对pthread_create的未定义引用。解决方法:展开 项目资源管理器-CMakeLists.txt 在最后添加两行:find_package(Threads...

2020-05-08 17:25:42 332

原创 C++11中的一些泛型编程思想——函数指针、function、lambda

泛型编程思想函数指针functionlambdatry为编写更通用的代码,将数据类型与方法、类分离,这就是泛型编程思想。C++ 的三大面向对象特性:封装、继承、多态。它们分别保证了安全性、可复用性以及特性。偷懒是人类生产力的重要动力之一。从类的继承、template、函数指针,再到function、lambda,均是为了践行泛型编程思想,让偷懒更成功。下面给出几个常用又直观的例子,学习函...

2020-05-08 11:19:21 1045 2

原创 Windows开发+Linux部署的一种实现——pscp的使用

SSH pscp实现开发与部署分离工具下载使用方法一、从主机传输到客机二、从客机传输到主机三、在主客机之间传输目录下的所有文件工具下载工具:Putty + pscpPutty与pscp的官方下载页下载安装很简单,略过。(pscp不需要安装)使用方法管理员模式打开Shell一、从主机传输到客机格式为pscp [文件绝对路径] [用户名]@[IP地址]:[客机绝对路径]此处如果不显...

2020-05-06 10:19:28 276

原创 cpp11 webserver 项目记录

首先创建一个Server类。在.h文件里应该有如下内容:public:1、构造函数(初始化服务器资源:线程池、epoll、定时器等)2、析构函数(释放服务器资源)3、启动服务器(在main里调用)private:1、线程池2、epoll实例3、定时器4、一些私有变量,比如epoll_fd、port等...

2020-05-03 15:59:37 325

转载 几个好的cpp开源项目

值得学习的C语言开源项目1. Webbench2. Tinyhttpd3. cJSON4. CMockery5. Libev6. Memcached7. Lua8. SQLite9. UNIX v610. NETBSD1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多...

2020-05-01 20:45:35 1413

原创 CPP 多线程编程、互斥、同步 浅析

https://www.cnblogs.com/lidabo/archive/2012/08/15/2640204.htmlhttps://blog.csdn.net/QIANGWEIYUAN/article/details/88792621本文主要是C++ 11中的多线程编程学习笔记。阅读时间大约15分钟。C++ 11中创建线程非常简单,使用std::thread类就可以,thread...

2020-04-24 17:43:32 348

原创 Linux IPC 方式 要点解析

持续更新中…Linux IPC管道管道的特点管道的应用共享内存消息队列管道管道的特点1、半双工,写端描述符,读端描述符,单向流动。2、只能用于有血缘关系的进程之间通信3、有无名管道和有名管道,顾名思义,无名管道用完即丢弃,句柄无法重复利用4、从管道读数据是一次性操作,数据一旦被读,它就从管道中被抛弃,释放空间以便写更多的数据。管道的应用读出文件内容后,通过管道转发给grep(可以...

2020-04-20 17:23:50 127

原创 select poll epoll 优缺点辨析

算是常见问题了,具体的API就不在这里赘述,书上网上都有很详细的解析。就简单罗列一下这几个系统调用各自的优缺点吧select:优点:1、可移植性强,Windows和Linux都能用。2、定时精度是微秒。缺点:1、每次调用需要重复传入文件描述符集,需要轮询所有文件描述符,大量并发时效率很低。2、文件描述符有最大数量限制(可以通过修改头文件中FD_SETSIZE的大小,重新编译kern...

2020-04-15 19:13:32 221

空空如也

空空如也

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

TA关注的人

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