- 博客(28)
- 收藏
- 关注
原创 windows7远程桌面连接时崩溃问题
另外打开局域网共享主机时也可能发生此问题。问题签名: 问题事件名称: APPCRASH 应用程序名: mstsc.exe 应用程序版本: 6.1.7601.24543 应用程序时间戳: 5df1aed5 故障模块名称: StackHash_087d 故障模块版本: 6.1.7601.24545 故障模块时间戳: 5e0eb67f 异常代码: c0000374 异常偏移: 00000000000bf262 OS ...
2020-06-21 22:16:41
1496
原创 对宇宙三种结局的思考
1.热寂,利用热力学第二定律中的“熵增加原理”,将整个宇宙当成一个孤立系统,认为宇宙的熵会趋向极大,最终达到热平衡状态,即宇宙每个地方的温度都相等。2.大撕裂,基于现有的观测和研究表明,宇宙中的星系都在加速远离彼此,这表明宇宙正在加速膨胀,更证明引力无法战胜暗能量。因此宇宙会不断膨胀下去,最终不管是大到星系,还是小到质子和中子,都会因为暗能量而分崩离析。而构成宇宙物质的基本粒子会被撕裂成比西格...
2019-09-07 09:11:03
364
原创 安卓下SIGBUS BUS_ADRALN字节对齐问题
游戏在安卓下崩溃,特别的是debug版正常,release版才崩,这个是内存字节对齐问题。Linux会对非对齐内存访问 的进程发送SIGBUS的信号,Windows允许非地址对齐的内存访问(会损失性能),所以程序在Windows操作系统下,不会出错。Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则:任何基本数据类型T的对齐模数就是T的大小,即sizeof(T)。比如对...
2019-04-23 20:39:50
8789
转载 a pretty good early definition of modular design and perspectives on systems
Plato(柏拉图) has Socrates(苏格拉底) express “two principles” about defining Ideas (in the Phaedrus):First, the gathering of scattered particulars into one Idea so that everyone understands what is being t...
2019-01-10 10:43:42
153
转载 C++标准库走向统一
上期碰到的问题就是与STL在不同平台行为不一致有关,现在终于要走向统一了。苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。libc++,从Lollipop开始的官方安卓系统和现代Mac操作系统都将其作为C++标...
2018-12-27 11:54:15
239
原创 一桩由android崩溃引发的血案
游戏在android下切换场景时崩了,查看崩溃日志发现是在Unit对象析构时发生了SEGV_MAPERR,仔细研究了一番,发现是在访问一个指针成员时出错,这个指针指向的内存已经被释放了。但是为什么只在android下崩,win和ios都没出现呢,然后调试win下的代码,发现在win下根本没走到这一行代码来,在前面有一行检测另一个vector成员size是否大于0,大于0才会继续往下走,在and...
2018-12-27 11:46:34
177
原创 cocos2dx lua向c++传字符串问题
版本 cocos2dx 3.13之前写过一篇c++向lua传字符串的问题 http://blog.youkuaiyun.com/klyhssrs/article/details/52684784 现在发现反过来也有同样的问题,自动生成的lua接口代码中使用的是luaval_to_std_string函数从lua中取传过来的字符串参数,不支持含0的字符串,字符串含0时将被截断。修复方法://
2017-04-21 11:43:30
1728
转载 使用stringstream对象简化类型转换
C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类型转换到字符串类型。为了正确地完成这个
2017-03-20 12:43:12
342
原创 Visual Studio 2013 c++工程链接速度变慢的问题
升级引擎版本后突然链接速度变慢了,每次都需要1到3分钟,困惑几个月后终于找到原因。就是这个选项导致的:Project -- Properties -- Linker -- All Options -- Profile -- Yes->No选项解释:Produces an output file that can be used with the Performance Tools prof
2017-01-24 18:03:01
1338
转载 如何通俗地解释一下 TCP/UDP 协议和 HTTP、FTP、SMTP 等协议之间的区别?
作者:车小胖链接:https://www.zhihu.com/question/20583641/answer/104529492来源:知乎著作权归作者所有,转载请联系作者获得授权。先来假设没有TCP,甚至没有IP层,只有MAC对应的数据链路层,HTTP等协议能跑多远?直接把HTTP封装在Ethernet Frame 里,可以吗?当然可以,在同一个二层广播域里,通过MA
2016-12-09 10:18:13
3173
原创 关于cocos2d::Scheduler的调用重复次数问题
用schedule函数设置了一个间隔0.1秒不限重复次数的定时任务,在定时任务回调函数中加载图片资源,每次加载一个,直到完成时立即调用unschedule移除定时任务。当图片文件很小的时候没有任何问题,但是加载大图时,在调用了unschedule之后这个定时任务仍然被执行了一次,通过研究引擎源码终于发现了问题所在。void Timer::update(float dt){ ...
2016-12-08 11:14:27
1660
原创 cocos2dx中c++向lua传string的问题
cocos2dx 3.13自动生成的lua接口代码传string到lua时不支持含0的字符串。修复方法:int lua_myproj_CustomLuaEvent_getStrData(lua_State* tolua_S){ int argc = 0; CustomLuaEvent* cobj = nullptr; bool ok = true;#if C
2016-09-27 21:22:34
2122
原创 关于cocos2d: SpriteFrameCache: removing unused frame与内存警告,程序崩溃
version cocos2dx-3.7.1使用SpriteFrame预加载合成的大图,如果没有马上使用,当收到ios的内存警告时就会被移除,后面再获取里面的图片时就会取不到,导致程序崩溃。解决方案为加载大图后,把里面的小图都加到自己定义的一个容器里,使其引用计数加一,避免被移除。添加到自定义容器代码void ResourceManager::addSpriteFramesWithFi
2016-08-19 12:38:29
2995
转载 c/c++时间函数
c/c++时间函数UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒。Epoch是指定为1970年1月1日凌晨零点零分零秒,格林威治时间。目前大部份的UNIX系统都是用32位来记录时间,正值表示为1970以后,负值则表示1970年以前。下面看下time.h中的time函数,sys/time.h中的gettimeofday函数#
2016-06-28 10:59:40
303
转载 群体寻路算法Flow Field Pathfinding
AI Flow Field PathfindingFlow Field Pathfinding Leif ErkenbrachDecember 5, 2013AI, ProgrammingOne of the most important and wide reaching subjects of artificial intelligence in v
2016-06-03 14:03:57
6206
原创 在c++的struct中使用类成员导致android下崩溃-SIGSEGV
在struct中定义了std::string类型的成员,在win和ios下访问都没有问题,在android下执行到str.assign(buf, len)时发生段错误。最后,把struct改为class后正常了。
2016-06-01 18:56:28
370
原创 利用ndk-gdb调试时,检测到的app_abi为armeabi
利用ndk-gdb调试时,检测到的app_abi为armeabi,但是我编译的时候用的命令行参数是armeabi-v7a。解决方法:在application.mk中添加app_abi配置。因为ndk-gdb是从这个文件里读取配置的。
2016-06-01 11:01:14
482
原创 抓包工具Wireshark自定义协议解析lua脚本
因为游戏中通信用的是自定义的基于tcp的协议,原始数据都是二进制的,用这个解析后更方便抓包时查看。-- game protocol over tcp dissector for wiresharkdolocal PROTO_MYGAME = Proto("MYGAME", "MYGAME Game Over Tcp")-- headerlocal f_mygame_
2016-06-01 10:45:47
5219
转载 MTU最大传输单元与TCP中的MSS的关系
MTU:最大传输单元,指的是二层设备所能一次传输的最大载荷的大小。如果超过该数值则无法传输。一些常见的链路的MTU如下:10/100m以太:1500(加上以太帧头的话是1514)1000M以太:9216(这个应该是不加以太帧头的)E1: 179401、MTU和MSS的关系:MSS是TCP协议在三次握手阶段协商的一个参数,是TCP协议本身一次所能传输的数据块的大小,他和W
2016-06-01 10:27:07
2881
原创 VS2013 Error LNK2019 about extern C
在cpp中引用c函数,在头文件中添加extern "C",会报错LNK2019,去掉后反而正常。原因是工程配置project-properties-Configuration Properties-C/C++-Advanced-Compile As设为了Compile As C++ Code
2016-03-14 17:59:30
512
原创 批量检测文件字符编码集并转换编码的python脚本
为了将vs项目下的文件都从gbk转到utf8,保证在xcode下正常,自己写了这个脚本import osimport os.pathimport chardetrootdir = "D:\\pj\\hgu\\frameworks\\runtime-src\\Classes"#rootdir = "D:\\tmp2\\Classes"print "rootdir=" + rootdi
2016-02-04 18:44:35
746
原创 cocos2dx 3.x中利用RenderTexture检测触摸点的alpha透明度的值
cocos2dx 3.x中利用RenderTexture检测触摸点的alpha透明度的值,可用于不规则图形的触控判断。折腾了一两天,终于搞定,搜到的文章都没有详细解释,下面给出详细的代码和注释。HelloWorldScene.h#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "c
2016-01-21 16:53:47
1935
原创 32位正常,64位随机崩溃问题
项目在iPhone 5,4s模拟器上运行完全正常。而在5s,6模拟器上经常会随机崩溃,偶尔正常,崩溃的位置一般在固定的几处,比如hashtable find函数。5s以上是64位cpu。通过排除法找到了项目中用到的一个第三方写的加密类,里面把一个4字节类型定义成了long,而long在64位下是8个字节,导致堆溢出了,覆盖了后面的其他数据。
2015-10-27 12:03:01
1080
原创 xcode下中文注释在vs下编译出错
xcode版本 6.3 vs版本 2013xcode下中文注释在vs下编译出错,但是又找不到具体的语法错误。有三种解决办法1.将换行方式转换为windows方式,CR+LF2.将文件编码由UTF-8不带BOM标记转为带BOM标记的格式3.在中文注释末尾加一个 除号/,如 //中文注释/
2015-10-27 11:52:43
780
原创 cocos2d-x 图片平移缩放组件
最近需要实现游戏地图的平移缩放功能,想到这是一个常用的功能,应该有现成的组件,可是到处找也没找到合适完美的实现,干脆自己写一个,经过一些测试没有问题,共享出来,有什么问题欢迎大家提出来继续完善。基于cocos2d-x 3.7.1,ide为vs2013。使用方法:PanZoomController panzoom;panzoom.start(your node or layer or
2015-09-06 10:23:55
1402
原创 cocos2d-x 3.7.1 lua 笔记
display.newSprite(“#xxx.png”) 带#号表示从framecache里面取图,不带则从本地文件读取。为layer添加触摸事件local touchLayer = display.newLayer()touchLayer:onTouch(handler(self, self.onTouch))事件处理,移除事件function xxx:onTouc
2015-08-26 11:08:40
496
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人