- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 5年总结
2009一月进入职场,虽然是实习,但也算入了职场吧,所以这个月过完也算是5年了,文笔不行,趁着刚弄完个任务抽空随便乱七八糟在这总结纪念一下吧2013是比较忙碌的一年,完成了几件大事吧,结婚,买房,几年的项目上线,收获颇丰。。。2008年底正在迷茫去哪找工作时发现有个同学在北京做java开发,一狠心就一个人跑北京了,当时我同学接待了我,把我带入了望京的一个地下室,其实还不错,300一个月,月
2013-12-20 10:54:23
1054
1
原创 system函数的问题
最近碰到这样一个问题:进程退出了,进程某个监听的端口还在监听状态,这个进程比较特殊,用system("start ")命令打开了其他的一些进程,然后该进程退出,用netstat发现该进程pid还在监听一个端口,但是任务管理器看不到这个进程pid了,然后把system打开的所有进程都关掉,我中间一个一个关发现直到最后一个进程关掉,这个端口才解除监听最后调试跟踪system函数,发现syste
2012-11-01 17:24:10
985
原创 gdb调试扩展脚本开发
最近遇到个bug,数据回档一天,查找发现是数据没有存盘成功造成的,还好用gcore留了尸体,至于为什么存盘不成功我这里不探讨了,主要是从core文件要恢复这一天的数据,里面有些存盘还是挺重要的,调试进去发现需要把一个list中的数据恢复到数据库中,这样我需要根据内存数据写一份SQL脚本来恢复,首先这个list不是stl的list,网上可以搜索gdb扩展开发相关>>vi gdb.conf脚本
2012-07-18 11:31:39
2141
原创 工作三年做个mark
工作三年了,在此做个mark,随意总结下三年一直在做网游服务器开发,跳槽一次第一家公司工作两年,这两年是积累的过程,从完全的菜逼到入门的菜鸟,非常感激一个主管的培养,不过生活所迫还是选择了跳槽第二家公司,接收新的思想,成熟的服务器架构,成熟的团队,宽松的公司环境,非常感激某一位同事的内推,不是从一个火坑到另外一个火坑的过程薪资,由于跳槽的给力,薪资一
2012-01-17 10:12:21
705
原创 Mysql中取字符串单字节ascii码值处理
以下是求字符串中所以字符的ascii值的和:SET @str = "abc"SET @size = LENGTH(@str);SET @pos = 1;SET @hashValue = 0;WHILE @pos<@size+1 DO SET @nCh = SUBSTRING(@str,@pos,1); SET @hashValu
2011-06-07 16:21:00
6452
转载 linux下追踪函数调用堆栈
<br />原址http://blog.chinaunix.net/u1/35065/showart_2147701.html<br /> <br />一般察看函数运行时堆栈的方法是使用GDB之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。<br /><br />在头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈<br /><br />Function: int backtrace(void *
2010-10-15 11:30:00
11740
转载 linux 下 core文件
<br />原址http://www.yuanma.org/data/2009/0916/article_3921.htm<br /> <br />1. core文件的简单介绍<br />在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 <br />2. 开启或关闭core文件的生成<br />用以下命令来阻止系统生成core文件:<br />ulimit -c 0<br />下面的命令可以检查生成core文件的选项是否打
2010-10-15 11:22:00
857
原创 关于cpp构造函数当中使用memset初始化的陷阱
<br />memset在c中是用的非常频繁的初始化函数了,当然也被带到了cpp当中,因为当有如下类涉及到非常多的成员变量,很多coder经常偷懒改用memset在构造函数当中初始化<br />struct Test<br />{<br />int _1;<br />int _2;<br />long _3;<br />...<br />Test(){memset(this,0,sizeof(Test));}<br />};<br />以上如果所有成员变量是简单的内置类型是没有问题,但是可能某次需求迫使你需
2010-06-23 21:46:00
3972
原创 vs2005/vs2008停止调试时控制台界面不能关闭的解决方案
症状:shift+F5时控制台不能关闭任务管理器中进程不在了电脑不能关机和重启以下是官方说明http://blogs.msdn.com/b/debugger/archive/2010/03/11/help-my-console-windows-won-t-go-away.aspx解决方案:卸载补丁 KB978037 PS: 百度什么都找不到,还是google能搜到点实际的东西
2010-06-08 17:40:00
2079
原创 关于stl容器中迭代器的删除崩溃问题
这个事情碰得多了,虽然每次碰到都知道这是不对的,但是总是避免不了,就是下面类似的代码typedef std::vector MsgList;MsgList m_msgList;for(MsgList::iterator iter=m_msgList.begin(); iter!=m_msgList.end(); ++iter){m_msgList.erase(iter);}
2010-05-22 22:43:00
856
2
原创 关于强转为void*后造成的内存泄露
写个代码很容易表达意思class A{private: int *pTemp;public: A(){pTemp= new int[16];} ~A(){delete[] pTemp;}};int main(){A *pA = new A();void *p = pA;delete p;return 0;}上面的代码问
2010-05-22 22:25:00
741
原创 关于typedef的好处
typedef的作用想必大家都知道的,就是替换作用,开始用它时还不是很习惯,用着用着就发现作用来了比如下面,开始我只是想保存一个角色信息的队列struct PlayerInfo{unsigned long long id;std::string playerName;...};typedef std::vector PlayerInfoList; 由于自己知
2010-05-10 20:44:00
1097
原创 工作一年
入职一年,盖个章还能清楚的记得去年一个人背一个箱子北上的情景,转眼间就一年了和我一起来的老乡刚走了,有点感慨...最近走的人比较多...年后更甚吧有人问我是不是也想走,我说至少再干一年吧,这一年时间没学什么东西,而且我老大和公司对我有知遇之恩...
2010-01-13 09:08:00
506
原创 慎用系统默认的拷贝和赋值函数
下面的东西也是说出来大家都知道,但是真正编码的时候可能又会不注意了,用代码说话class A{public: A():p(0){} A(int* pp):p(pp){} ~A() { if (p) { delete p; cout } }private: int *p;
2010-01-07 10:56:00
492
原创 关于返回const value和const reference value
最近对公司代码进行优化时发现很多类似下面的代码:class A{public: A() { cout } A(const A& a) { cout } int aa;};class B{private: A a;public: const A GetA() { return a; }};
2010-01-06 11:35:00
1233
转载 hash算法收集 (转)
原地址http://www.cnblogs.com/sephil/archive/2006/08/11/Hash.html// RS Hash Functionunsigned int RSHash(char* str){ unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; wh
2009-12-23 16:31:00
1014
原创 关于std::map中的find和[]的问题
std::map不是顺序容器,这应该都知道的,map中重载了operator []操作符,可以用map的键值索引到相关的数据,但是这个[]和一般数组的[]可不一样。有的人又认为既然[]就是利用下标做索引和std::map中的find用键值索引是不是一样的,所以有的会写出下面类似的代码:std::map mapTemp;...int* Find1(int i){
2009-12-09 12:31:00
32747
1
原创 跨平台问题
1.time_ttime_t在windows下还是个64位的int,到了linux下变成了32位的了,害惨我了 2.文件名问题win下比如头文件包含是不区分大小写的,而Linux下区分 3.路径问题就是/和/的区别了 4.空格问题std::vector>>这个在vc下能识别,到了linux下就不行了,连着的两个>>中间需要加个空格才能识别std::vecto
2009-11-30 20:12:00
861
原创 格式化_snprintf_s的测试
由于出现了这种错误,所以我写了些代码测试_snprintf_s的格式化规则(windows下),比如以下代码char buff[256]={0};unsigned int a=5,b=9,d=10;//32位unsigned char ch=5,ch1=3;//8位unsigned short sh=7;//16位unsigned __int64 c=6;//64位_snprintf_s(
2009-09-10 11:36:00
5737
原创 GBK中文编码和std::string的冲突问题
最近写了一个按照分隔符拆分字符串的接口,void PickUp(std::string &strDes,std::vector &vecData,const std::string sign=";" ){ std::string::size_type fpos=0,bpos=0; std::string strTemp; while(bpos != std::string::npos && s
2009-09-04 16:53:00
3071
2
转载 【转】Boost和loki智能指针
原帖: http://dozb.bokee.com/1976635.html一、 Boost 智能指针Boost 的智能指针方案实现了五种智能指针模板类,每种智能指针都用于不同的目的。这五种智能指针是: template class scoped_ptr; template class scoped_array; template class shared_ptr; template
2009-05-07 16:59:00
782
转载 转载:字符,字节和编码
字符,字节和编码[原文地址 http://www.regexlab.com/zh/encoding.htm]级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是
2009-04-04 09:40:00
578
原创 c++中的联合
最近工作中用到了联合这个类,根据联合中的所有变量共用一段内存,写了一个模板接口函数,而此接口函数只需往里面传入数据的类型和一个联合的引用,就可以在同一个数据结构中存储或者取出不同的数据类型(代码由于没整理出来,暂且不贴),感觉还比较好用,故对联合又多了解了点。联合也是个c++类,但由于联合它自身的特性,所以联合少了很多一般c++类中的很多特性,比如:1.联合类不能作为基类,也不能从别的类派生而
2009-03-27 16:38:00
1036
原创 工作中遇到的小问题及总结
1. snprintf 函数 格式化的问题 char buf[256]={0}; std::string name("wangxu"); snprintf(buf,255,"My name is %s",name.c_str());//红色部分如果该为直接用name再运行时刻会抛出异常 2.Mysql语句对关键字作为字段的问题比如 lock ,passw
2009-02-26 12:54:00
736
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人