- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 Mac配置Cocos安卓打包环境的问题记录
先准备环境,需要一下目录:使用cocos 自带的 setup.py 进行检测是比较好的方法:从上图,可以看到所需要的目录都已经被找到了,其实这一步已经把环境变量配置加到~/.bash_profile文件中,打开~/.bash_profile可以看到文件内容:如果哪个环境变量没有添加上去,则可以手动添加;完了之后,就可以到cocos项目到 proj.android目录下, 执行 cocos comp...
2018-03-10 18:24:07 1051
原创 C++使用Openssl进行RSA签名(sha1)--完整版
研究了一天,网上的代码写着是签名,实际上是加密,最开始把我弄得迷糊了,后来慢慢理清楚了,就把代码记下来,所有的说明都在代码注释里面,已实际应用于HTTP请求中,从读取私钥文件、sha1加密、rsa签名、base64、urlencode转换、CURL进行HTTP请求完整流程。先将OPENSSL库编译好,并引入头文件:#include "openssl/sha.h"#incl
2016-12-28 09:32:41 10880
原创 网狐棋牌框架-WHDataQueue队列的问题
研究网狐的内核框架发现经常有以下错误:SocketEngine Index=0,RountID=18,OnRecvCompleted 发生“数据包效验码错误”异常因为不是必现的问题,非常不好排查,而网狐的东西也相对较稳定,不知如何下手,然后就仔细看内核相关的代码,看到了内存数据队列;WHDataQueue队列的实现其实还是非常巧妙的,用变量标志就在一个内存块上实现了环形的队列,
2016-11-29 10:10:23 5756 3
原创 第三方APP微信登陆时无法调起授权页面的终极坑
微信登陆的demo和用法,我相信大家随便baidu一下都能找出好几个,在我做微信登陆的时候,却碰到了坑:虚拟机上能调起微信授权页面,而打包在真机上却不行;最终发现了微信的一个坑。总结一下网上说的微信登陆的前提条件: 包名,签名,appid, 以及release版keystore签名的apk;注意,这里说的正确的包名和签名需要是在微信开放平台申请时首次填写的包名与签名,这样才能正常在真机
2016-11-14 22:20:39 8842 2
原创 C++调用请求HTTP接口错误的问题
在C++中请求HTTP接口:char* out = cJSON_PrintUnformatted(root); setlocale(LC_ALL, "C"); time_t rawtime; time(&rawtime); char szbuff[128]; strftime(szbuff, 128, "%a, %d %b %Y %H:%M:%S GMT",
2016-10-24 11:33:43 1483
原创 SVN分支和主干详细使用图解
目录结构如下: 名称及功能说明:Trunk: 主干代码 (用于新功能的开发)Branch: 分支代码(用于解决项目路径中产生的bug)Tags: 版本标记(测试通过后上线的版本记录) 使用习惯:1、在发现bug后,从主干生成一个分支,并在该分支上做bug修复;如修复时间较长,则保持“经常从主干合并到分支(即更新主干代码至分支)”的动作习惯。2
2016-10-21 14:03:29 5596
原创 最新版Visual Assist X支持vc6和vs2003
今天安装了最新版本的Visual Assist X1901,发现vc6和vs2003无法识别该工具,经过研究,得到方法如下,和大家分享。准备工作:安装Visual Assist X并破解(下载地方可以百度一下)1、vc6.0中Visual Assist X的安装配置方法1).单击Tool/Customize/Add-ins and Macro Files
2016-10-10 11:13:06 4071
原创 网狐棋牌框架-CopyMemory问题
最近在研究网狐棋牌框架,发现它的日志模块需要优化,于是就将之前写的一个日志模块拿过来用了,可编译时发才发现,网狐的是uicode模式下编译,于是就修改日志模块的字符串兼容性因为文件IO对性能消耗的影响,所以单独开线程来写文件,于是需要一个BUFF在线程中做数据交换,在字符串拷贝时,使用了CopyMemory,因为我看网狐棋牌中很多都是用CopyMemory,所以我也就没有太在意他的适用性,结果
2016-09-20 16:28:41 1290
原创 C++内存泄漏查找分析
引用一篇文章: 用C写程序,为了省事儿引用了别人一些代码,一调试程序发现:内存泄露了。程序代码量有点大,而且指针基本上都是用链表管理起来的,VC的调试器并不能给检查具体哪一行泄露。我想用C写程序的人这种情况一定跟我一样遇到过好多次,其中大多数人可能也跟我一样。依次注释和检查代码来排除这个问题~~ 最近,我又遇到了这个问题,本想到群中请教下别人有没好点儿的内存检查工具来辅
2014-11-16 21:50:14 1243
原创 单例使用比较
服务器程序里很多时候都需要使用单例,目前我使用有两种方式:方式一: static CWanClient& Instance() { static CWanClient m_cWanClient; return m_cWanClient; }静态成员方式调用,看上去也没什么问题方式二: /* * 使用的时候只需要单件类继承此模板即可。 * class
2014-11-14 14:03:40 995
原创 Windows.old文件夹恢复系统解决方案
开始在百度上搜,百度经验,还有很多复制百度经验的答案,关键是我没有DVD, 那种方法基本不管用,何况现在笔记本都不太喜欢装光驱了,后面自己摸索,尝试各种办法,最终发现原理,其实很简单的。第一步: 必须要有windows.old文件夹,其次,windows.old文件夹下面有WindowsOld.wim文件,据我判断,windows.old文件夹下面是一些安装程序文件和数据,而Windo
2014-11-06 10:19:03 19102 1
原创 MYSQL存储过程使用
/* 创建表 */-- 账号表DROP TABLE IF EXISTS `account`;CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 自增 `account` varchar(64) NOT NULL, `password` varchar(64) NOT NULL, `roleid`
2014-10-13 11:40:45 650
转载 MFC扩展DLL导出对话框类
MFC扩展DLL导出对话框类wls(630771620wls@sina.com)2013年01月14日(此文为作者原创,任何转载须保持文章完整,并提供引用的链接。)话说最近北京的空气差极了,居然有毒。去亚马逊上看了一下,PM2.5防护口罩脱销了,在小屋里宅了两天没跟上时代的发展,看来我只能买防毒面具了。在网上看了一下,关于“dll导出对话框类”的
2014-10-07 22:54:45 1681
转载 c++ 读取csv文件
#include "stdafx.h"#include #include #include using namespace std; int main(int argc, char* argv[]){ ifstream file ( "D:\\test.csv" ); // declare file stream: http://ww
2014-09-26 10:35:34 4818
原创 单元测试工具Numega(转)
1 前言我在本文中详细介绍了测试工具NuMega Devpartner(以下简称NuMega)的使用方法。NuMega是一个动态测试工具,主要应用于白盒测试。该工具的特点是学习简单、使用方便、功能有效。NuMega共有三个独立的子功能——BoundsChecker、TrueCoverage、TrueTime。BoundsChecker为代码检错工具,TrueCoverage为测试覆盖率统计
2014-09-23 15:50:16 578
转载 BoundsChecker安装下载及使用教程攻略
BoundsChecker安装下载地址:参见文章结尾附件1 前言我在本文中详细介绍了测试工具NuMega Devpartner(以下简称NuMega)的使用方法。NuMega是一个动态测试工具,主要应用于白盒测试。该工具的特点是学习简单、使用方便、功能有效。NuMega共有三个独立的子功能——BoundsChecker、TrueCoverage、TrueTime。BoundsChecker
2014-09-23 15:44:23 11558
原创 【开发问题记录,持续更新..】
1. 【在调用SQLFetchScroll/SQLExtendedFetch之前,没有列被绑定】的错误:CDatabase对象使用OpenEX打开数据库就没有问题,代码如下: CDatabase cDB; cDB.OpenEx("DSN=autodbc;UID=autodb;PWD=123456"); CString sql,str; CRecordset *p_rs = new CR
2014-02-18 21:42:40 919
原创 内存高低位存储简介
不考虑数据符号位的情况下: //判断当前CPU是低位还是高位存储 union { unsigned long int i; unsigned char s[4]; }c; c.i = 0x12345678; if( 0x12 == c.s[0] ) { cout << "高位存储" << endl; } else { cout << "低位存储" <<
2013-12-05 16:36:40 3700
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人