自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (5)
  • 收藏
  • 关注

转载 CocosCreator通用框架设计之网络

CocosCreator通用框架设计之网络

2023-02-14 22:16:16 1645 1

原创 c#与lua之间调用 注意事项

【代码】c#与lua之间调用 注意事项。

2022-11-24 19:27:34 243

原创 lua 面向对象 继承 多态的使用---原理基于元表和_G

【代码】lua 面向对象 继承 多态的使用---原理基于元表和_G。

2022-11-23 16:25:37 321 1

原创 Lua的元表

【代码】Lua的元表。

2022-11-23 16:23:34 152

转载 cocos2dx配置Android环境最新教程

cocos2dx配置Android环境最新教程这几天在研究cocos2mdx怎么在Android studio下配置环境,一开始根据官网的过期教程走了不少歪路,虽然现在网上也有大致正确的安装教程,但是一些细节还是被忽略了,现在特意记录一下安装的经过首先在官网下载Cocos2dx 3.17.2版本 Cocos引擎下载连接然后下载Android studio的4.2c1版本,连接:https://redirector.gvt1.com/edgedl/android/studio/install/4.2.0

2022-04-08 21:39:22 892

原创 扇形弧度区间角度偏移

扇形弧度区间角度偏移function HandleCardView:initTouch() local selfSize = self:getContentSize() local touchBeginPos self.dragView = nil local function cardMoveEnd(localPos,isCancel) if not self.lastSelectedView then return end if not self.lastSelectedView:is

2021-10-13 11:22:18 177

原创 OpenSSL中base64编解码使用

/** *由于2进制有一些特殊的字符,在传输的过程传给对端对面解析乱码问题 *\0也是特使字符在传输的过程中读取的时候遇到\0系统认为是结束字符所以导致数据不完整 *含有中文的数据写进数据库数据库存储也会乱码 读取出去也会乱码 *为了解决了以上的问题我们引用了base64进行编码,生成二进制的时候 存储或者传输的时候我们先将他们base64转码之后在进行存储或者传输 *openssl 里面封装bio对象的 可以对base64操作 */#include<openssl/buffer.h>#in

2021-07-11 16:05:14 1084

原创 生成的密钥对进行加解密、签名和效验

生成对应的私钥和公钥#include<iostream>#include<openssl/sha.h>#include<openssl/rsa.h>#include<openssl/pem.h>#include<unistd.h>#include<stdlib.h>#include<string.h>#include<string>extern "C"{ // #include&lt

2021-07-04 14:15:23 212

原创 网络通信防止connect,accept,rend,write阻塞设置超时处理

为了防止connect,accept,rend,write阻塞在哪影响效率问题,我们设置一个认可超时时间处理,通过调用系统内核函数帮我检查读写缓冲区是个有数据可读,分析场景: 内核去维护一个双向读写缓冲区 类似乳滑动窗口,.发送端快速发送消息到到接收端,而接收端处理消息不及时,故接收端内核读缓冲区快满了,此时发送端send就会阻塞,read读超时设置:int readTimeOut(int cfd, int timeOut ){ //我们不知道内核的读缓冲区是否有数据到达,所有我们委托内核

2021-07-02 15:32:46 1278

原创 Tcp流式传输解决粘包和少包的方案

tcp是流式传输协议,接收端和发送端的 收发时间延时,此时会出现粘包现象。比如:再不考虑内核双向缓冲区的延时发送问题,客户端假设1s 发送100k,循环发,服务器每2s收一次数据,此时服务器收到了200k,出现了消息粘包,服务器也不知道客户端的消息分组情况,所以我们需要和客户端协商一个解决方案,类型tcp底层封装思想一下定义为 消息头和消息体:下面伪代码展示一下:发送端:void sendMsg(int fd, char* sendData){ /*这里的sendData数据体他是字符串形式的

2021-07-02 11:19:36 351

原创 Linux线程同步条件变量实现的线程池

1.设计思路:通过线程池来管理线程,有任务的到达唤醒线程,没用任务睡眠线程,这样减小线程的创建开销,从而进行重复利用,类似于经典的消费模式 生产者和消费者,在对任务进行添加和处理的时候,防止线程之间资源争夺,让线程同步,引入线程锁,和条件变量#ifndef _THREADPOOL_H#define _THREADPOOL_H#include <stdio.h>#include <stdlib.h>#include <string.h>#include &lt

2021-06-29 00:25:07 105

原创 浏览器请求服务器静态文件的实现

服务器是基于epoll实现ET模式 非阻塞模式,浏览器用Get请求方式访问服务器本地资源写这个demo过程中遇到问题: 1.浏览器 访问的 例如 192.168.1.130:8989/ 这个 '/'这个根文件不是服务器跟目录而是服务器的本地资源相对路径,所有要切换服务器的目录到 浏览器资源访问的目录下 通过chdir设置,浏览器访的 路径 假设一个图片192.168.1.130:8989/wsy.png; 通过http数据的解析 我们得到的是/wsy.png 此时需要...

2021-06-23 00:41:35 1682 2

原创 libevent网络框架学习

//client.c#include<stdlib.h>#include<stdio.h>#include<unistd.h>#include<string.h>#include<fcntl.h>#include<sys/stat.h>#include<event2/event.h>#include<event2/bufferevent.h>char buf[1024];void read.

2021-06-12 17:25:48 196 1

原创 c小游戏之贪吃蛇

#include <stdio.h>#include <stdlib.h>#include <time.h>#include <windows.h>#include <conio.h> //键盘事件#include <stdbool.h>#define WIDE 60#define HIGH 20#define SCORE 5//记录蛇节点坐标typedef struct _body{ int x; .

2020-11-10 20:43:52 141

原创 json转化Excel csv

var fs = require('fs');var iconv = require('iconv-lite');function parseObject(obj, path) { console.log(type(path)) if (path == undefined) path = ""; var type = obj.constructor; var scalar = (type == Number || type == Str.

2020-09-02 16:58:59 342

原创 csv-转化为json格式批量处理的

var fs = require('fs');var iconv = require('iconv-lite');var csvParse = require('csv-parse/lib/sync');// var jsonh = require('./jsonh');// const zlib = require('zlib');let clientCfg = null;function AttributeCount(obj) { var count = 0; for.

2020-09-02 14:17:32 394

转载 cocos2dx之如何优化内存使用

本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=93一、内存优化原则为了优化应用内存,你应该知道是什么消耗了你应用的大部分内存,答案就是Texture(纹理)!它几乎占据了90%的应用内存。那么我们应该尽力去减小我们应用的纹理内存使用,否则我们的应用进程可能会被系统杀死。为了减少内存警告,这里我们给出两个普遍的关于cocos2dx游戏内存优化的指导原则。1)了解瓶颈,然后解决掉什么样的纹理消耗了大部分应用的内存呢?或者说这些纹理消耗了多少

2020-07-14 21:13:05 409

原创 c++ 加入信号量控制线程的终止和退出

信号量的实现#ifndef _CELL_SEMAPHORE_HPP_#define _CELL_SEMAPHORE_HPP_#include<chrono>#include<thread>#include<condition_variable>//信号量class CELLSemaphore{public: //阻塞当前线程 void wait() { std::unique_lock<std::mutex> lock(_m

2020-06-18 00:04:41 1311 1

原创 C++ 初识window下 IOCP网络模式

window下 IOCP网络模式#define WIN32_LEAN_AND_MEAN#include<windows.h>#include<WinSock2.h>#pragma comment(lib,"ws2_32.lib")#include<mswsock.h>#pragma comment(lib,"Mswsock.lib")#include<stdio.h>#define nClient 10enum IO_TYPE{

2020-06-17 21:38:59 409

转载 C++中static关键字作用总结

1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。//a.cchar a = 'A'; // global variablevoid msg(){ printf("Hello\n");}//main.cint main(){ extern char a; // extern ...

2020-06-17 12:01:11 200

原创 c++ 纯虚函数和虚函数重写调用

纯虚函数和虚函数重写调用class parent{public: parent(int a, int b) { this->a = a; this->b = b; cout << "我是爸爸构造函数" << endl; } void printfP() { dotest(); } virtual void dotest() { cout << "parent:dotest()" << endl;.

2020-06-17 11:43:13 1163

原创 C++ 继承 之 构造析构顺序

继承 之 构造析构顺序#include<iostream>using namespace std;class parent{public: parent(int a, int b) { this->a = a; this->b = b; cout << "我是爸爸构造函数" << endl; } void printfP() { dotest(); } virtual void dotest() { cout

2020-06-17 11:36:45 735 1

转载 C++中虚函数继承类的内存占用大小计算

计算一个类对象的大小时的规律:1、空类、单一继承的空类、多重继承的空类所占空间大小为:1(字节,下同); 2、一个类中,虚函数本身、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间的; 3、因此一个对象的大小≥所有非静态成员大小的总和; 4、当类中声明了虚函数(不管是1个还是多个),那么在实例化对象时,编译器会自动在对象里安插一个指针vPtr指向虚函数表VTable; 5、虚承继的情况:由于涉及到虚函数表和虚基表,会同时增加一个(多重虚继承下对应多个)vfPtr指针指向虚函数

2020-06-16 22:46:58 867

转载 C语言-结构体和联合体的区别

结构体和联合体的区别请参考此网站https://www.cnblogs.com/nktblog/p/4027107.html

2020-06-16 22:28:23 469

原创 初识Linux下epoll网络通信

#ifndef _WIN32#include<unistd.h> //uni std#include<arpa/inet.h>#include<string.h>#include<sys/epoll.h>#endif#define SOCKET int#define INVALID_SOCKET (SOCKET)(~0)#define SOCKET_ERROR (-1)#include<stdio.h&.

2020-06-16 19:07:55 148

转载 字符串按照一定的字符切割

C 库函数 -strtok()C 标准库 - <string.h>描述C 库函数char *strtok(char *str, const char *delim)分解字符串str为一组字符串,delim为分隔符。声明下面是 strtok() 函数的声明。char *strtok(char *str, const char *delim)参数str-- 要被分解成一组小字符串的字符串。 delim-- 包含分隔符的 C 字符串。返回值该...

2020-06-12 18:17:04 1400

转载 strchr函数用法-查找切割

原型:char *strchr(const char *s, int c);头文件:#include <string.h>描述:用于查找字符#include <iostream>#include <string.h>using namespace std;int main(){ char str[] = "Hello World!"; char* p1 = strchr(str, 'r'); if (p1) {...

2020-06-12 16:46:10 346

原创 不同平台下的简易服务器脚本配置

目录 通过main函数传参 int main(int argc, char* args[]); int argc 标识参数的个数 char* agrs[] 标识参数的字符串指针 (注:传参都是字符串形式的) args[0] 参数是程序入口的完整路径 假设生成的文件为 HelloSocket.exe (debug模式下的) int main(int argc, char* args[]){ char* strIp = args[1]; uint16...

2020-06-12 15:37:43 134

原创 c++ 消息字节流数据读和写

#ifndef _CELL_STREAM_HPP_#define _CELL_STREAM_HPP_#include <cstdint>class CELLStream{public: //创建数据块 (写消息) CELLStream(int nSize = 1024) { _nSize = nSize; _pBuff = new char[_nSize]; _bDelete = true; } ...

2020-06-10 21:04:01 2313

原创 c++简易日志文件系统

#ifndef _CELL_LOG_HPP_#define _CELL_LOG_HPP_#include"CELL.hpp"#include"CELLTask.hpp"#include<ctime>class CELLLog{ //Info //Debug //Warring //Errorpublic: CELLLog() { _taskServer.Start(); } ~CELLLog()...

2020-06-08 19:35:40 231

原创 c++跨平台 计时器

#ifndef _CELLTimestamp_hpp_#define _CELLTimestamp_hpp_//#include <windows.h>#include<chrono>using namespace std::chrono;class CELLTime{public: //获取当前时间戳 (毫秒) static time_t getNowInMilliSec() { return duration_cast&l...

2020-06-05 19:25:09 405

原创 c++ 对象池的实现

#ifndef _CELLObjectPool_hpp_#define _CELLObjectPool_hpp_#include<stdlib.h>#include<assert.h>#include<mutex>#ifdef _DEBUG#ifndef xPrintf#include<stdio.h>#define xPrintf(...) printf(__VA_ARGS__)#endif#else#ifndef xPrintf#

2020-06-02 10:28:11 215

原创 C++ 内存池实现 并管理内存池(支持多线程)

Alloctor.h:#ifndef _ALLOCTOR_H_#define _ALLOCTOR_H_void* operator new(size_t size);void operator delete(void* p);void* operator new[](size_t size);void operator delete[](void* p);void* mem_alloc(size_t size);void mem_free(void* p);#endif.

2020-06-01 11:35:25 755

原创 python 读写Excel

import xlrdimport pandas as pdfrom pandas import DataFramebook = xlrd.open_workbook("newtable.xlsx")sheet1 = book.sheets()[0]nrows = sheet1.nrowsprint('表格总行数', nrows)ncols = sheet1.ncols...

2020-04-24 20:57:12 165

原创 cocos2dx-Text 详细

local text = ccui.Text:create(content, "font/sysfont.ttf", 18)text:setPosition(pos) --设置位置text:setColor(color) --设置颜色text:setFontSize(size) --设置字体大小text:setTextHorizontalAlignment(alignment ...

2020-01-16 17:16:14 1160

原创 单点触摸事件技巧

local function touchBegan(touch, event)self.m_addClickCardIndex = -1self.m_removeClickCardIndex = -1self.m_cardInStructIndex = -1self.m_firstTouchCardValue = Common.INVALID_CARDself.m_beginP...

2020-01-03 10:49:38 202

转载 Windows批处理(cmd/bat)常用命令教程

常见问题:1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat 文件中输出中文乱码 解决方法在文章末尾!前言批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工...

2019-12-26 18:06:08 382

转载 Cocos2d-lua,Button 切换图片时的适配处理

1,Cocos2d中的Button可以通过两种方式创建:代码:localbtn=ccui.Button:create()CocosStudio:直接使用Button空间,拖拽到指定的位置调整好需要的属性即可。localbtn=panel:getChildByName("button")button:addClickEventListener(function(...

2019-12-26 11:36:31 1007

原创 整理数组技巧

local bombArr = {}for k,v in pairs(bombArry) doif bombArr[self:CardValue(v)] thentable.insert(bombArr[self:CardValue(v)], v)elsebombArr[self:CardValue(v)] = {v}endend

2019-12-25 15:58:11 82

原创 scrollView使用案例

self.m_scroView:removeAllChildren()for i=1, table.nums(detail_score) dolocal curInfo = deal_cell_data[i].itemlocal item = cc.CSLoader:createNode("deskScene/fenNode.csb")self.m_scroView:setCont...

2019-12-13 13:29:27 130

unity小框架各个模块封装

unity小框架各个模块封装,便于快捷开发

2022-11-18

unity本地持久化xml资源管理器

xml管理器可以本地进行持久化存储,以及本地配置信息表读取

2022-11-09

unity持久化j本地存储son管理器

json工具实现数据持久化 本地存储

2022-11-09

VSCode luaide调试工具.7z

vscode luaide调试工具

2021-07-09

第三方json库.7z

第三方json库,读取解析序列化

2021-07-07

protobuf-cpp-3.8.0.tar.gz

谷歌封装了一套序列化和反序列化的数据传输的库

2021-07-07

plist拆图工具将大图图集分解单张小图

大图集plist文件拆解成单张小图,拿到里面单张小图资源,方便好用,推荐给大家,不足一起改正。

2020-11-09

vs 2017免费版

今终于也推出了其 Windows 的最新版本—— VS 2017 正式版了。 这对开发者来说无疑是个大消息,无论你是 Windows 还是 Mac 的用户,我们现在都能立即下载到微软最新版本的 VS 开发工具尝鲜了!根据微软的介绍,Visual Studio 2017 相比此前的 Visual Studio 2015 进步巨大,而且还包括一系列的新功能……

2019-03-06

空空如也

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

TA关注的人

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