自定义博客皮肤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的专栏

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

原创 linux目录也可以用双斜线哈!

以前还真不知道,最近工作才发现, 原来linux目录也可以用双斜线, 网上找了一下, 也如此:

2016-10-31 23:54:50

阅读数 7898

评论数 0

原创 限制内存对齐的 #pragma pack(1)

最近遇到一个结构体, 我拷贝出来, sizeof计算了一下, 发现是104,   但实际数字节数, 发现是95, 而且官方文档也介绍是95, 奇怪了。         原来, 数字节是95, 官方文档对应的实现加了#pragma pack(1), 限制内存对齐, 随意此时计算的sizeof也是95...

2016-10-31 07:47:56

阅读数 6052

评论数 0

原创 平时积累的重要性

为什么要积累?大话扯多了没有意思, 说说小话吧。 晚上11点的时候, 同事反馈一个问题, 外网有几个用户投诉了, 要赶紧看看。         看了一下, 是个概率行问题。 根据现有流水和log, 有一个地方需要确认, 貌似只能看代码了? 而我是不太喜欢这么做的, 鉴于代码只是本地操作, 那就拷贝...

2016-10-31 07:41:22

阅读数 6735

评论数 0

原创 搬家送书咯!

       大学毕业的时候, 送了所有电子电路的书, 转战通信。        研究生毕业的时候, 送了所有的通信系统的书, 转战嵌入式。        从前东家裸辞的时候, 送了所有嵌入式的书, 转战互联网。          最近搬家, 打算送掉所有与Windows相关的书和其他的一...

2016-10-23 22:45:01

阅读数 7538

评论数 21

原创 用实例程序再聊makefile指定头文件和库出错的那点破事

在文章http://blog.csdn.net/stpeace/article/details/50985578中, 我说过makefile指定头文件和库文件出错的那点破事, 今天破事重提, 用实际例子来聊一下. taoge@localhost Desktop> cat basic_add...

2016-10-21 22:38:40

阅读数 6036

评论数 0

原创 linux中的显式运行时链接---dlopen、dlsym、dlerror、dlclose搞起

        之前, 我们在linux下制作过动态库, 并卖过。 当时我们采用的是隐式链接, 也就是说, 在代码中, 我们不用去管如何打开动态库、如何链接(这些活都交给了链接器), 只需要管如何调用就行。  隐式链接的动态库被进程加载到内存后, 就一直站着这个坑, 直到进程终结。 费时费力, 浪...

2016-10-21 21:54:36

阅读数 6244

评论数 0

原创 为什么一些linux基础静态库(如libc.a)里面包含那么多目标文件.o呢? 为什么不将这些.o文件进行提前糅合呢?

我们来看个现象: taoge@localhost Desktop> ar -vt /usr/lib/libc.a | grep printf.o rw-r--r-- 399/399 28564 Oct 26 00:26 2010 vfprintf.o rw-r--r-- 399/399 ...

2016-10-21 19:58:30

阅读数 7385

评论数 2

原创 a.out/libTest.so静态链接了libme.a, 为什么存在于libme.a中的符号没有在a.out/libTest.so中出现?

我们来看这样一个问题:a.out/libTest.so静态链接了libme.a, 为什么存在于libme.a中的符号没有在a.out/libTest.so中出现?  为了方便讨论, 我们只说a.out和libme.a.         我们知道, 静态库完全等价于目标文件(它们可逆), 当然, 这...

2016-10-21 19:45:02

阅读数 5888

评论数 0

原创 两例栈溢出导致的core dump

main.cpp: #include #include using namespace std; int main() { unsigned int m = (1<<31); string s(m, 'a'); string s1(m, 'a&...

2016-10-21 17:49:29

阅读数 6351

评论数 0

原创 linux中的objdump命令(反汇编常用)

我们介绍过linux中的readelf命令, 但迟迟没有介绍objdump命令, 因为其实后者可以看作是前者的子集, 我们来看看官方文档怎么说: /* The difference between readelf and objdump: Both programs are capab...

2016-10-21 16:43:29

阅读数 7565

评论数 0

原创 简要介绍一下UTF-8编码和GBK编码------并利用linux中的iconv命令来实现UTF-8和GBK之间的相互转换

曾经的某个版本一发布, 外网一片乱码, 虽然最后影响不是很大, 但至今仍然记忆犹新, 这就是我们今天要说的UTF-8编码和GBK编码, 不容忽视哦! 在涉及编码格式时, 强烈建议使用UTF-8, 更具有普遍性和通用性。 对于一个汉字而言, UTF-8是三个字节, 而GBK是两个字节...

2016-10-21 14:42:40

阅读数 12355

评论数 0

原创 简要介绍一下Dos/Windows格式文件和Unix/Linux格式文件

我曾经在这里踩过坑, 也曾在博文中聊过Dos/Windows格式文件和Unix/Linux格式文件。 最近刚好在写文件格式的专题博文, 所以再次唠叨一次。        请参考之前的博文:         http://blog.csdn.net/stpeace/article/details/...

2016-10-21 11:52:57

阅读数 7507

评论数 0

原创 简要介绍一下utf-8下bom文件的本质、bom文件的查找(linux命令)、去bom头的方法(linux命令)

之前玩php程序的时候, 出了一个问题, 但肉眼就是看不出来, 百思不得其解。  我明明没有改动自己的php文件啊, 怎么就突然有bug了呢? 后来请教某哥, 他先查了当前php文件的格式, 怀疑是bom问题, 但当前文件是没有bom头的啊,  于是怀疑是基础的php中加入了bom头, 导致当前p...

2016-10-21 11:03:57

阅读数 8381

评论数 2

原创 linux中一切皆文件, 一切文件皆二进制

刚开始接触linux的时候, 看到过这样一句话:linux中一切皆文件。 当理解深刻后, 发现确实如此。         又记得当年学习C语言的时候, 看到书上介绍文本文件和二进制文件, 瞬间懵逼, 理解非常模糊。 后来玩h.264, 生成了一个test.264文件(深入了解了H.264的编码器和...

2016-10-21 09:52:36

阅读数 7551

评论数 0

转载 linux core文件开关、目录和名称的设置

间接转载地址:http://blog.chinaunix.net/uid-16979052-id-3431343.html   在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错...

2016-10-21 09:40:33

阅读数 13517

评论数 0

原创 一个与map下标操作有关的编译错误(花了5分钟才找到原因)

来, 看程序: #include #include #include using namespace std; class A { public: map m_map; }; void test(const A &a) { string s = a.m_map["...

2016-10-21 09:22:26

阅读数 6587

评论数 1

原创 linux预处理、编译、汇编、链接和运行的过程

看个简单的程序(test.c): #include int main() { printf("abc\n"); return 0; }       我们可以这样搞定编译和运行: taoge@localhost Desktop> gcc t...

2016-10-21 08:45:35

阅读数 6657

评论数 0

原创 linux中的hexdump命令

之前介绍过linux下的xxd命令, 现在说hexdump, 从含义来讲, 就是把文件中的hex   dump出来, 类似的有objdump, tcpdump,  我们来看看hexdump, 如下: taoge@localhost Desktop> xxd test.cpp 0000000...

2016-10-20 23:51:43

阅读数 6656

评论数 0

原创 linux中的ELF文件有哪几类?(注意:静态库不是ELF文件)

ELF = executable linkable format   可执行、链接格式        linux中的中ELF文件主要包括四类, 也即:        1.  a.out        2.  core        3.  so文件        4.  .o文件       ...

2016-10-19 23:34:00

阅读数 6618

评论数 0

原创 linux的ar命令: 目标文件(.o)<===> 静态库(.a)

       在之前的博文中,  我们说过静态库的制作和使用方法, 今天, 我们再来说说静态库中到底有什么。       我们已经很熟悉linux中的tar命令了, 英文原文是tape archive,  磁带归档。 今天, 我们要说的是ar命令, 也就是archive, 也是归档。 其实, 对目...

2016-10-19 23:12:55

阅读数 10714

评论数 3

转载 天道不一定酬勤,深度思考比勤奋工作更重要

转载地址:http://www.kaoder.com/?m=thread&a=view&fid=53&tid=258264 晨兴资本刘芹:天道不一定酬勤,深度思考比勤奋工作更重要 Heystacy  首推于 11月02日 05:38浏览(25224)|回...

2016-10-16 23:36:59

阅读数 6227

评论数 0

原创 来来来, 考个问题:在调试某个函数的代码时, 如何快速获知每个变量的值?

来来来, 考个问题:在调试某个函数的代码时, 如何快速获知每个变量的值?          千万别说加log, 那可要累死了, 也不要说单步调试哈, 麻烦!          那该怎么搞呢? 主动core吧。

2016-10-15 23:38:30

阅读数 5697

评论数 2

原创 编译错误导致浪费10多分钟, 编译错误的提示:xxx does not name a type xxx

最近, 我在google protobuf 协议文件xxx.pb增加了结构体(类)请求字段, 生成xxx.h和xxx.cpp文件, 然后放到对应目录进行编译, 奇葩的是, 编译出错, 提示:... does not name a type ..., 实际就是在名空间中没有找到类。查了至少10多分...

2016-10-15 23:08:44

阅读数 11602

评论数 0

原创 访问长度为0的vector引起的低概率coredump问题的定位

最近发布版本后, 发现了一个低概率的core dump告警,  其实, 在互联网千万甚至上亿的请求下, 再低概率的core都能被频繁触发, 所以也算不上低概率, 每隔几分钟就有core, 那就展开定位吧。         首先基本可以肯定的是, core是由本次代码修改引起的。  先来做做前戏准备...

2016-10-15 00:59:13

阅读数 6312

评论数 4

原创 一个与stl有关的概率coredump问题的定位

昨晚快下班的时候, 同学X说自己的代码有core, 而且还是概率的, 不太好搞定,  W哥对此很感兴趣, 于是就展开定位。 我觉得这是个好的学习机会, 于是就在旁观 背景:SVN库上的代码没有问题, 同学X加了代码后, 就有这个概率core了, 我们顺着W哥的思路来定位core. 1. 直...

2016-10-15 00:21:40

阅读数 5891

评论数 2

原创 修改.cpp后, 重新make all, 却提示nothing to be done for all

有时候, 如果makefile没有写好, 那么当修改啦.cpp后, 重新make all, 会提示nothing to be done for all, 此时怎么办呢?          如果蛮力make clean再make all, 那显然是费力不讨好了, 需要耗费太长的时间, 那怎么办呢?...

2016-10-11 23:36:44

阅读数 7109

评论数 0

原创 基础库变更, 对应业务库make all时对变化无感知

我们知道, 当基础库变更后, 需要重新编译业务库, 重编的时候, 经常出现提示:nothing to be done for all,   也就是说, 业务库无感知了。 怎么办呢?            那就先make clean一下吧, 再make all

2016-10-11 23:30:44

阅读数 5550

评论数 0

原创 linux scp命令的使用

最近远程vpn办公, 用sz/rz 传文件, 等得花儿也谢了。 还是用linux scp搞起吧:         本地到远端:         scp  -r   local_file   remote_username@remote_ip:remote_folder        ...

2016-10-10 23:40:15

阅读数 5615

评论数 0

原创 makefile同时指定多个同名头文件/库文件, 那实际到底采用的是哪个呢?

虽然是10月8号了, 但仍然处在休假中, 这种感觉不错。 为了避免节后综合征导致上班没精神, 所以今天就开始在家玩玩代码, 提前进入工作状态。          今天, 我们来看看这样一个问题:makefile同时指定多个同名头文件或库文件, 那实际到底采用的是哪个呢?            我们...

2016-10-08 12:47:41

阅读数 7367

评论数 0

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