自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stpeace的专栏

涛哥不知何许人也,亦不详其姓字。好读书,求甚解。常著文章自娱,颇示己志。忘怀得失,有始有终......

原创 编译warning:call will abort at runtime

最近编译代码, 眼睛扫了一下, 无意中看到一个刺眼的warning:  call will abort at runtime         回看代码, 果然有误, 虽然通过编译, 但运行时有出错危险。         在大型代码编译中, 几乎不可能清楚所有warning, 但至少要保证:    ...

2016-03-30 23:48:52

阅读数 5935

评论数 0

原创 这是得了core dump综合征么?

以前觉得core dump有些难搞, 现在解决也就那么回事。          最近写代码异常, 在该打印日志的地方嘎然而止, 第一想到的就是程序是不是又core了。 看了一下, 没core, 进程号没有变, 所以程序并没有core, 好吧。          抓个包, 包异常, 抓个日志, ...

2016-03-30 23:23:29

阅读数 5725

评论数 0

原创 makefile编译时候出现:commands commence before first target

我们知道, 在C/C++语言中, 可以用\来换行, 此时要注意, 在一行的最后面加上\,  而这个\后面不能再有任何字符, 哪怕是空格, 也不允许, 否则出错。         对于makefile, 也有类似的原则, 最近写makefile,  一不小心, 在\后多了个空格, 结果编译出现:co...

2016-03-30 23:14:35

阅读数 29714

评论数 6

原创 strtok_r并不比strtok好多少

前面批判了strtok, 本文来说说strtok_r,  后者在linux中才有, 虽然可冲入且线程安全, 但也不是什么好东西, 因为会改变原串, 如下: #include #include #include #include using namespace std; int Str2...

2016-03-28 23:54:27

阅读数 6701

评论数 0

原创 C/C++中最坑爷爷的垃圾函数strtok------浪费我1个小时

某次, 我调用了别人写的这样的一个函数:int Str2Vector(const string& str, vector &v, const char *p);        然后,继续把str在系统中传递, 奇怪的是, 传着传着, str的值就变化了。 当时的第一分析是: 调用S...

2016-03-28 23:29:24

阅读数 8398

评论数 0

原创 教你用恶心的strtok函数来恶意修改const string &str 中的str

大概在两年前, 我踩了一次strtok的坑, 并在博文中做了记录, 永远不要用strtok,  最近再次遇到此坑, 先不多说。 我来教你用恶心的strtok函数来恶意修改const string &str 中的str: #include #include #include #incl...

2016-03-28 23:12:17

阅读数 6235

评论数 0

原创 makefile文件没写好导致程序core dump的定位经历与反思------又是"协议"不一致产生的core dump

最近碰到这样一个问题: 原本好好的程序, 经我加一些代码后, 程序就core dump了。        于是, 我回退代码, 结果就没有core dump了, 我仔细审视了一下自己写的每行代码, 居然没有发现任何疑点, 怪哉。        我不太想用二分查找的方法来定位, 粗暴低效, 所以...

2016-03-27 00:11:57

阅读数 7097

评论数 0

原创 协议文件不一致导致的coredump问题

客户端和服务端之间经常使用类似google protocol buffer这样的工具做应用层协议, 在之前的博文中, 我们说过协议不一致导致的解包失败问题。 本文说手协议不一致产生的core dump问题。        去年, 在去澳门玩之前, 遇到了一个core dump问题, 搞了一些时间,...

2016-03-26 23:29:53

阅读数 5675

评论数 0

原创 两次碰到协议文件不一致导致的解包失败

在网络交互中, 客户端和服务端之间进行发包时, 一般会约定好协议, 比如常见的google protocol buffer. (gpb), 实际上就是一个应用层的协议, 负责序列化打包、反序列化解包。 今年情人节前夕, 做了一个需求, 用的是类似gpb这种序列化、反序列化协议, 结果,...

2016-03-26 23:02:23

阅读数 6576

评论数 0

原创 makefile指定头文件和库出错的那点破事

某模块提供了test.h头文件和libtest.a库, 供外部代码调用: 1. 如果在代码中包含了某头文件test.h, 但在makefle中没有指定头文件路径/或者头文件根本不存在, 会出现编译错误, 会提示缺少test.h. 2. 如果包含了test.h头文件,且指定...

2016-03-26 10:38:06

阅读数 10031

评论数 0

原创 GNU makefile英文官方介绍------干货

话不多说, 奉上干货:http://www.gnu.org/software/make/manual/make.html

2016-03-26 10:12:23

阅读数 6223

评论数 2

原创 缺using namespace test1; using namespace test1::test2;导致的编译错误

最近遇到一个编译问题, 耗费了点时间才找到原因, 现在记录一下, 下次很快就能搞定类似问题了。       某基础功能库提供了test.h文件和libtest.a文件供外部调用, 在业务层比较成熟的A模块中, 需要用到test.h中的一个类Student,  在A模块中,包含了test.h, 然...

2016-03-26 10:03:56

阅读数 5649

评论数 0

原创 浅聊流水系统

这里的流水, 是不是流口水, 而是类似于流水账之类的记录。 电话费有电话费的流水账单, 银行有银行的流水账单。 之前做嵌入式开发, 非常依赖于本地日志定位问题。 当嵌入式设备发到用户家里后, 需要将异常信息上报网管系统。 现在做互联网后台开发, 监控系统尤为重要, 其中...

2016-03-26 09:33:48

阅读数 5837

评论数 2

原创 解决问题, 才是首要目的

就在刚才, 网络突然异常了, 于是我想抓包看看, 修复一下, 结果不管用。 手机能连接wifi, 但pc连接不上, 搞了20分钟, 网络还是没法恢复。 好吧, 那就用万能的重启方法, 搞定了。        某次, 某台机器出现了必然出现了内存泄漏, 大家定位很长时间都木有找到具体原因, 最后的解...

2016-03-26 08:57:10

阅读数 5713

评论数 0

原创 函数该传递什么参数

最近, 一位qq好友问, 函数该传递什么参数, 怎样设计? 这个问题, 其实是比较简单的, 我个人比较喜欢的做法是: int fun(xxx input, xxx control, xxx output);

2016-03-26 08:49:07

阅读数 5683

评论数 0

原创 那一夜, 我懂了视频帧

之前学过一段时间的视频, H.264吧, 开始一直不太理解视频帧的概念, 某日, 在寝室观看了“某老师”的“行为艺术”视频, 卡得不得了, 心急如焚, 视频播放出来是一幅一幅的图像, 从此, 懂了视频帧的概念。         粗略来说, 视频帧, 就是一幅图像。

2016-03-26 08:00:49

阅读数 6556

评论数 6

原创 snprintf类型不匹配导致的core dump问题分析与定位

对于core dump, 我们应该很熟悉了。之前说过,printf打印日志不规范, 会导致core dump问题, 今天我们来说说类似的问题.        最近, 系统出现异常, 在改打日志的地方没有打日志, 程序戛然而止。 最古怪的是, 虽然开了ulimit -c unlimited, 但也...

2016-03-26 07:53:40

阅读数 8080

评论数 2

原创 垃圾的clear函数------stringstream类型对象的清空操作之坑(不是用clear)

平时经常用C++中的stringstream类型, 非常方便, 但最近踩了一个大坑浪费较长时间才定位到时清空stringstream对象时出现了问题, 上网搜索了一下, 原来, 很多人都踩过此坑。 我们先来看看demo代码: #include #include #include using...

2016-03-25 00:26:15

阅读数 7284

评论数 2

原创 全局变量未清空, 定位耗费一小时

都说全局变量是万恶之源, 可读性差, 而且还容易产生错误, 此话不假。        最近, 本来需要扩展函数参数,但当时为了图方便, 直接用了全局变量, 但每次结束后又没有清空, 结果出现异常:        1. 在测试环境下, 表现没有异常。 序列化打包OK.        2. 在灰度...

2016-03-24 23:52:33

阅读数 6278

评论数 0

原创 细节好的人格局一般比较差

细节好的人格局一般比较差, 此话不假, 发人深省。

2016-03-21 22:52:33

阅读数 6769

评论数 3

原创 C++ vector的排序------对于结构体vector, 需要自己实现比较

在很多面试中, 都会问到: 结构体作为map的key, 需要注意什么? 这个问题, 我在http://blog.csdn.net/stpeace/article/details/46553525中已经深入讨论过, 所以不再赘述。 本文来说说vector的排序, 最近刚好要涉及到, 所以来写个代码...

2016-03-20 23:42:13

阅读数 11964

评论数 3

原创 毕业后是选择大公司还是小公司

最近有网友问我, 毕业后是选择大公司还是小公司。 我觉得这又是个扯淡的问题。          在校期间, 我在公司A实习, 正式员工小于20人。 后来又在B公司实习过, 正式员工小于10人。          毕业后, 我在公司C工作, 正式员工大于150000人。 后来又在D公司工作, 正...

2016-03-20 22:03:21

阅读数 6770

评论数 4

原创 《华为研发》 张利华

最近整理书籍, 把这张利华的《华为研发》结了个尾。 文章没啥深度可言。 亲自感触太多, 不多说了。 该忘的, 就忘吧。

2016-03-20 21:20:13

阅读数 6926

评论数 1

转载 刘宗泽:风雨江湖路

转载地址:《棋艺》                                                     刘宗泽的寂寞                                                                   在异乡的一家小酒馆里...

2016-03-20 20:24:49

阅读数 6725

评论数 0

转载 Linux 压缩解压缩命令大全(我最常用tar)

转载地址:http://www.cnblogs.com/xd502djj/archive/2010/11/19/1881559.html      .tar   解包:tar zxvf FileName.tar   打包:tar czvf FileName.tar DirName   --...

2016-03-19 23:05:28

阅读数 17549

评论数 0

转载 腾讯产品总监:我工作十年,内心仍无比恐慌

转载地址:http://www.chinaz.com/manage/2015/1127/476037.shtml 本文是曹菲在馒头商学院发表的演讲记录,曹菲是腾讯产品研发中心总监 (腾讯,中国最大的网络公司,QQ 和微信都是它的)。 本文有相当程度的专业性,行外人不一定能够咀嚼通透,...

2016-03-19 22:50:11

阅读数 7856

评论数 8

转载 确定性这剂毒药,你喝过没?

转自:http://blog.csdn.net/foruok/article/details/50762970          目录(?)[+]   假如你现在想换工作,你会怎么选择呢?薪水够多,工作够轻松,不加班,目标职位需要的技能你又刚好会,离家近,奖金多?满足这样要求的...

2016-03-19 09:39:12

阅读数 5863

评论数 0

原创 大白话解释互联网后台为什么常用异步server?

最近写了一个异步server, 所以来聊聊异步server:         互联网的后台开发就是一堆的server, 我们先来看看同步server的情况:           如上图, A是用户的请求, B是后台的某一个Server, C是数据库存储。                  ...

2016-03-19 09:11:12

阅读数 7133

评论数 3

原创 再来聊聊linux中的nm命令(nm与ldd命令实战)

在之前的博文中, 我们介绍了nm命令, 故无需过多赘述。在上一篇博文中, 我们介绍了ldd -r xxx.so的使用方法, ldd -r xxx.so主要是用来查询undefined symbol的项, 其实, nm命令同样可以做到。        在使用nm命令时, 会列出各种符号, 其中的U...

2016-03-19 08:16:29

阅读数 8272

评论数 0

原创 ldd -r xxx.so命令的重要作用------见招拆招地解决缺库问题(undefined symbol)

在之前的博文中, 我们介绍了ldd这个重要的命令, 在本文中, 继续来强调一下, 顺便说说ldd的-r参数。        最近编译了一个动态库xxx.so, 但一加载的时候, 便报错, 提示信息是: dlopen ......,  undefined symbol ....,   于是不断地修改...

2016-03-18 23:23:23

阅读数 12986

评论数 0

原创 网络传输的本质(buffer传输)决定了序列化和反序列化的重要应用

序列化: 把对象转化为一段buffer, obj---->buf 反序列化:把buffer转化为一个对象 buf--->obj 程序猿喜欢obj, 网络传输喜欢buf. 知名的序列化、反序列化的工具是google prot...

2016-03-18 23:08:08

阅读数 7794

评论数 0

原创 AlphaGo 4:1 李世石

AlphaGo 4:1 李世石, 有幸见证。         阿尔法狗不错啊。         李世石, 帅气, 牛逼。

2016-03-18 22:52:27

阅读数 5810

评论数 0

原创 txt中的内容复制到excel中无法对齐, 该怎么处理?

今天, 一同学反馈, 导出的文件是txt格式, 其中是表格类型的数据, 在导入到excel中后, 无法在对应的框中对齐, 他还以为是txt没有对齐。 有点苦恼。        我在群里看到这个问题, 回忆起excel的导入导出都是以tab来做分隔符的, 所以就想到现在txt中把空格转为tab. ...

2016-03-18 22:51:27

阅读数 9855

评论数 0

原创 svn diff | grep work看修改的文件

用svn diff可以看所有修改的详细信息,  但若要看svn管理目录下改动的文件, 可以直接过滤working/work即可。          一直这么用, 挺顺手:          svn diff | grep work          或者:          svn dif...

2016-03-18 22:45:05

阅读数 6206

评论数 0

原创 修改svn中的文件名

今天想修改svn中的文件名, 感觉这种基本的功能应该会提供, 试了一下, 靠谱:        对于已经受svn源代码管理的文件或者文件夹,若想修改名字,如何搞起:        1.选中文件或者文件夹---右键---TortoiseSVN---改名。        2.svn 提交...

2016-03-18 22:39:54

阅读数 17349

评论数 0

原创 php中的join函数

刚学写PHP的时候, 对很多现成的函数不熟悉, 导致还是在用C/C++的思路解决问题。 比如, 我曾经自己去吧join函数实现的功能给写了一遍。         下面, 我们来看看join函数的作用吧, 以后再也不要犯傻了: <?php $arr = array("he...

2016-03-15 23:38:21

阅读数 7503

评论数 0

转载 年薪千万的华为副总裁离职工作感悟------徐家俊

转自: 网上到处是。 上周,我正式提交了离职报告,准备给自己的职业生涯一个很大的转折,这是我长时间的思考最后所做的决定。但真的提出离职后,回想在公司的十年,还是百感交集。 转眼工作十年了,在华为的十年,正是华为从名不出专业圈子到现在成为路人皆知的大公司,高速发展的十年,...

2016-03-14 22:39:26

阅读数 7702

评论数 0

原创 tcp三次握手都没有建立, 还谈什么业务包呢?------聊聊最近的一个扯皮问题

我们知道, udp是不要建立连接的,  我们甚至可以对着一个非实际的ip(比如1.1.1.1)的某端口发包, 此时, 如果抓包, 我们可以看到, 发送方是发了业务包的。 但是, 在tcp中就不一样了, 三次握手没有建立的话, 谈不上业务数据包。         来说说这样一个问题: 最近, 我作为...

2016-03-14 22:38:06

阅读数 6082

评论数 0

原创 对接联调是一个情商活

两年前, 毕业后第一次参加工作, 做了一个监控工具, 经常需要与别的公司的同事对接联调。 如今, 几乎每天都是对接联调, 不得不说, 需要技术, 但更是一个情商活。         知己知彼, 百战不殆。

2016-03-14 22:07:22

阅读数 6308

评论数 0

原创 调用成熟接口、谨慎使用未知接口------遇到问题时, 不一定要死死纠缠原因

在实际开发中, 经常要调用一些其他接口。  最近遇到一个问题, 成熟接口在另外一个模块, 与它功能相似的接口在本模块, 于是, 我直接调用本模块的接口, 然后, 就不work了, 由于时间关系, 就没有去细究原因。 而是先解决问题, 移植成熟的借口过来, 测试了一下, 靠谱。          当...

2016-03-14 22:03:31

阅读数 6474

评论数 0

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