C++
善良的兽人Goodorc
这个作者很懒,什么都没留下…
展开
-
转载——利用map文件调试程序崩溃
转载——利用map文件调试程序崩溃http://blog.csdn.net/goodwinds/archive/2009/05/23/4211654.aspxFrom Wiki帮助系统Jump to: navigation, search2010年2月8日MS-VC 使用MAP文件快速定位程序崩溃代码行 程序员,平时最担心见到的事情就是程序发生了崩转载 2012-04-03 17:57:03 · 634 阅读 · 0 评论 -
TXT格式的Excel表格读取问题优化解法(目前我所知的最简洁算法)
做大型游戏的国内公司,据我所知全都在用Excel做数据——程序把数据接口抽象出来,给策划在Excel里填写数据——除不同的编辑器之外,数据的使用方法几乎都是一样的。 把Excel表格存为txt格式,就得到了一个很简单的文本表格。把它拿给程序识别,只需要解决两个问题: 1、正确的按行、列分析读取数据 2、数据存储我打算把这篇博客写的尽原创 2012-10-27 22:33:01 · 1962 阅读 · 1 评论 -
lua调用C++函数崩溃时,查看lua的调用栈信息 (特别适用于tolua++)
cocos2d-x这个开源引擎目前在移动开发领域挺火,我用了一阵子,非常喜欢它的lua绑定,一旦理解了其工作机制,用起来相比C++有不同的感受。 但是想要用好lua脚本,实在不是件容易的事情。要让lua绑定变得非常好用,可能依然需要大量工作。 这里记录一个很实用的技巧:在lua调用cocos2d-x的接口而导致崩溃时,无法直接看到lua的调用栈,也就无法原创 2012-12-06 23:39:19 · 11690 阅读 · 2 评论 -
关于逻辑服务器并行计算的思考
注:本文纯属个人思考过程的记录,仅供参考,估计有众多不当之处欢迎指正。 服务器并行化,对我们现代的程序员来说有着极强烈的吸引力。分布计算、云服务、高并发数据库、虚拟机、无缝大世界网游服务器,等等,所有这些热门技术,都指向了同一个目标:并行计算。 并行计算的最终形态我认为是——可以通过增加硬件实现几乎无限的服务器负载。 从原创 2012-12-16 13:59:37 · 2426 阅读 · 3 评论 -
Facebook接入ios,要点记录(不回调,info.plist写法等问题)
我遇到的问题是将Facebook接入cocos2d-x项目(iOS平台),下面这篇文章已经说的非常好了,建议先阅读。http://blog.csdn.net/xiadasong007/article/details/8599611这里要记录两个问题:1、项目的Info.plist里,有一个URL Types参数,此参数填法应该是—— fb + AppID,例如你申请的F转载 2013-04-19 10:44:21 · 3083 阅读 · 0 评论 -
Python游戏服务器开发日记(八)整体方案改变了……
老大和CTO提出了新的方案,之前的架构被推翻了。 简单来说,就是使用多进程,工作进程启动python环境。 最奇葩的是,我们回到了利用共享内存保存entity的方案。entity里保存纯data,是一个纯的二进制数据块。 Entity在用的时候,包装成PyObject给Python使用。如果修改了,则重新打包成二进制块存回去。原创 2015-10-16 18:27:59 · 2676 阅读 · 0 评论 -
Python游戏服务器开发日记(四)scons编译工具、C和C++混合使用
今天在编译python so时出现点问题——把其他C库链接到同一个so里——尝试了一早上发现了方法,已经更新到本系列的第二节里了。 整理了一下工程目录,打算用scons管理。 scons毕竟是一种新型的build工具,比makefile肯定有很大进步,至少更清晰好学,少了很多晕晕的trick。但是相比其他高级工具比如cmake之类的,就不清楚优劣了。原创 2015-08-26 20:57:33 · 2740 阅读 · 0 评论 -
Python游戏服务器开发日记(九)近期问题总结。(打酱油中……)
由于领导提出的多进程方案有很多问题,进展缓慢。好在有另一个同事慢慢进展中,我主要是做各种单独的试验,集成各种技术进行尝试。 Python多子进程方案的核心是共享内存,除了mmap方式,还有shm方式,都是linux提供的共享内存方案。 无论哪种共享内存方式,都需要自行申请整块内存,然后在创建对象时,将对象数据放在共享内存区域,实现多进程都能访问的目的。原创 2015-11-12 15:25:39 · 2131 阅读 · 2 评论 -
跨平台内存分配器TCMalloc
http://www.cppblog.com/feixuwu/archive/2010/07/10/119980.aspx跨平台内存分配器TCMalloc,看着很屌的样子。楼主是Windows开发为主,很有参考价值。一定要点进去看,这篇文章一半的精华在评论里。评论里提到,windows下做dll注入和linux下方式不同。windows的方式更hack一点评转载 2016-04-21 14:35:04 · 968 阅读 · 0 评论 -
【转一篇C++的dynamic_cast讲的很明白的文章】C++中的dynamic_cast
(博主按:多年编写“C++”代码,今天头一次想起来还有dynamic_cast这个东西,从来没有用过。大概在网上学了下,找到这篇不错的文章。另外,想不起来在哪里用dynamic_cast合适,嗯。)—————————————————以下是引用—————————————————————————————引用地址(貌似链接失效了):http://skywalkerj.spac转载 2012-07-16 21:59:28 · 1456 阅读 · 0 评论 -
调试的艺术——Debug技巧总结
调试的艺术——Debug技巧总结(本文从写好的wiki里粘出来的,格式稍乱不影响阅读) 用Q+编号代表问题,A+编号代表答案。用这种方式组织。如无特别说明,这些技巧都是针对Visual Studio 2003的 汇编级的问题我作为一个逻辑程序只能说略知皮毛,内容仅为抛砖引玉,说法不严谨之处希望能毫不客气的指出,以便改正。但大部分信息都是有经验或参考资料确原创 2012-04-03 17:53:58 · 1885 阅读 · 0 评论 -
Python源码学习笔记(1 基本数据类型)
Python源码剖析 这本书相当好。 我用Python也有几个月时间了,这时候读Python源码,会对提高C语言水平、Python水平、算法基础都有相当的帮助。 我目前只看了最前面的数据类型基础,也就是网上可以下载到的: Python源码剖析.chm 这个文件。学习心得嘛,就是多看多想,有问题的时候再调试Python源码验证想法。 欢迎留言原创 2012-04-04 21:06:59 · 835 阅读 · 0 评论 -
GCC命令行参数的问题(静态库,32/64bit,pthread)
由于对GCC的参数一知半解,害我今天早上浪费了一个多小时。“以此文祭奠失去的时间”1、生成静态链接库:分两步g++ -c aaa.cppar -rsv libaaa.a aaa.ogcc默认要求库文件名必须是lib[名称].a的形式,动态链接库类似是.so2、怎么用这个libaaa.a,有两种办法g++ main.c -L"PATH_TO_AAA" -l原创 2012-04-28 13:34:14 · 1903 阅读 · 0 评论 -
Raknet和新版本MySQL兼容性问题
先说结论,细节待补充。 目前发现两处问题:1、Raknet自带的AutoPatcher服务器,初始化DB时有一句:"modificationDate double precision DEFAULT EXTRACT(EPOCH ......),"(AutopatcherMySQLRepository.cpp Line 83)根据百度来的说法,MySQL不原创 2012-05-03 17:57:06 · 1267 阅读 · 0 评论 -
笔误,是福是祸?(linux so搜索路径,SWIG等)
这是一篇非常有聊(?)的日记。 昨晚心血来潮,在尝试用SWIG(http://www.swig.org)给C++的库做Python绑定,网上例子非常多,看了几个就动手。后来被动态链接的问题折腾到晚上十二点半,对我这个每天早上7点前起床的人来说有点伤不起。而且,你知道吗,错误原因是我把函数名写错了,测试用源码里的randnum在接口里我写成了rand_num。 S原创 2012-05-06 11:18:19 · 2183 阅读 · 0 评论 -
gcc和g++的区别。四个理解误区
原帖地址:http://forum.byr.edu.cn/pc/pccon.php?id=1942&nid=56349http://hi.baidu.com/walker20100000/blog/item/0be87acfa3852b0a01e928d4.htmlgcc和g++的区别 我们在编译c/c++代码的时候,有人用gcc,有人用g+转载 2012-06-17 11:00:02 · 1870 阅读 · 0 评论 -
【忙到没空写博客的程度】表格型配置文件内存优化之一:简单内存分配器
最近是生平第一次全时间投入coding,甚至连写博客的精力都没了。这种感觉不是很好,希望能早日调节过来。努力工作之余深入思考我觉得很重要。 说正题,目前国产大型游戏开发里,经常用到Excel配置文件,这是一种文本文件,用Excel编辑表格后存为txt格式即可。除一些特殊情况外可以认为是用和换行分割的csv文件。这种配置文件的分析和读取不算难写,只要试验清楚Excel对待引号、换原创 2012-06-16 17:16:46 · 1384 阅读 · 1 评论 -
DLL和lib的不同之一——一个要外部链接,一个不需要
今天发现,如果dll库函数里用了一个std::string&类型的参数,且在使用时修改了string的内容,那么可能会因为调用者用的内存分配器与dll库里的不一致,而导致崩溃等严重问题。 神奇的是,同事把dll改为lib,就解决了这个问题。准确来说,lib方式,库内的函数调用new函数时,也会跳转到已经被重载的全局new上面去。 仔细看了下VS2013的工程设置原创 2016-04-21 14:41:10 · 1159 阅读 · 0 评论