自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sunny04的专栏

生命不息,折腾不止。

原创 gdb 和 addr2line 调试 crash(包含如何调试so里面的crash)

嵌入式编程中会遇到各种crash的问题。 对于这样的问题,有两种调试方法: addr2line  和 gdb。   第一章   先讲解下gcc 编译加不加 -g 对程序的影响, 还有strip。 //1.1.cpp  #include using namespace std; bool IsU...

2014-12-12 21:01:40 7051 4

原创 linux 目标文件(*.o) bss,data,text,rodata,堆,栈

bss段: BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文BlockStarted by Symbol的简称。BSS段属于静态内存分配。 data段: 数据段(datasegment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数...

2014-10-30 21:02:34 6005 2

转载 理解APCS-- ARM过程调用标准

因为需要在QNX Momentics中混合C语言和ARM汇编进行开发,于是初步了解了一下APCS。和大家分享一下我自己的学习过程,然后通过一个形象一点的类比讲述我自己的理解。   刚开始的时候我是不知道有APCS这回事,所以第一次从C语言中调用ARM汇编函数的时候返回就出错了。也正因为出错才去...

2014-10-25 21:17:13 1502 0

原创 linux进程间/线程间通讯(《unix网络编程-进程间通讯》读书笔记)

Linux进程间通信 1.管道 管道的主要局限性正体现在它的特点上:     只支持单向数据流;     只能用于具有亲缘关系的进程之间;     没有名字;     管道的缓冲区是有限的(管道制存在于内存中,在管道创建时,为缓冲区分配一个页面大小);     管道所传送的是无格式字节流,这就...

2014-01-10 15:12:47 1477 2

原创 OpenCV2.4.4 移植到arm平台过程详解,及 __extern_inline 错误的解决方案

在做porting 移植移植Opencv之前, 需要提前了解下CMAKE cross compiling的工作原理。 因为现在opencv 自从2.0版本后采用 cmake编译, 而以前的版本用的是autotools。 编译的方式发送了变化, 所以看下cmake 还是很有必要的。 这里可以参考下:...

2013-08-01 18:28:05 1754 0

原创 centos系统-线程栈空间

1.  一个进程有自己独立的进程空间,存在于虚地址,在32位机上都是0-4G2.  创建了多线程,各个线程要求有自己独立的栈,这些独立的栈是怎么分布的呢?   单线程程序只不过是多线程的一种特殊形式,每创建一个线程时,为每一线程在进程内的栈空间上化分出一片区域,作为该线程的栈空间.并且在线程的描述...

2018-06-02 15:32:11 295 0

转载 Linux进程栈和线程栈

总结:     1、进程主线程的栈大小是在进程执行的时刻才能指定的,即不是在编译的时候决定的,也不是在链接的时候决定的      2、进程主线程的栈大小是随机确定的至少比线程栈要大,但是不到线程栈大小的2倍 (ulimit -s 查询到的是线程的栈大小,)     3、线程栈大小...

2017-04-17 15:11:42 662 0

转载 电商技术解密之商品详情页

转自: https://mp.weixin.qq.com/s/jQNCjAk3EfaW8E48QY7EIg 今天来跟大家聊聊商详,商详是展示商品详情信息的一个页面,整个购物流程比较重要的一个部分,承载着网站的绝大部分流量。为了提高转化率构成商详的元素非常丰富,有大量的图片、部分商品还有视频介...

2016-12-09 17:48:18 719 0

原创 find mtime参数+号,-号,不带符号的用法

find . -mtime +0 -type f -name "oms*" | xargs rm -f 删除24小时以前 oms格式的文件     #按文件更改时间来查找文件,-n指n天以内,+n指n天以前。 大家在使用find命令中的mtime参数时候,会看到官方的...

2016-05-24 10:52:58 8492 1

转载 nginx负载均衡策略及方向代理原理

nginx的负载均衡策略可以划分为两大类:内置策略和扩展策略。内置策略包含加权轮询和ip hash,在默认情况下这两种策略会编译进nginx内核,只需在nginx配置中指明参数即可。扩展策略有很多,如fair、通用hash、consistent hash等,默认不编译进nginx内核。 ...

2016-01-14 17:53:03 645 0

转载 shell脚本中单引号和双引号的区别

转自: http://blog.csdn.net/luo6620378xu/article/details/9081417 shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引...

2016-01-13 11:13:44 534 0

原创 redis - 空格引起的bug

项目需要,使用redis把数据存储到内存。加快数据访问。 封装了redis的 set 和 get 的接口,代码如下://修正这个bug的代码如下: int CRedisApi::Get(const std::string& strKey, std::string& strVal...

2016-01-08 17:17:48 5643 0

原创 linux 和 window 的EOF

学习linux 和 window 的EOF,记录如下。1. 文件read在window下创建一个文件,输入如下: 文件名: window.log 123456789 123 在linux下也创建一个文件,输入如下: 文件名: linux.log 123456789 123在16进制下...

2015-12-09 17:30:12 741 0

原创 python遇到的问题

1. import 可以导入同一级目录下的py文件, 例如 test1.py和 main.py 是同一个目录下的两个文件。 #test1.py def test():     print "this is test" #main.py import test1 te...

2015-11-28 14:42:37 338 0

原创 linux通配符,grep和 egrep区别

前些天写字符串匹配的脚本,如下:   1 #!/bin/sh   2   3 echo"path: /home/appadmin/workspace"   4 echo"usage: "$0" [h|cpp|both|all] strin...

2015-11-28 12:11:09 12808 1

原创 qqqq

http://blog.jobbole.com/16051/     MySQL性能优化的21条最佳经验 http://blog.jobbole.com/23638/ http://blog.jobbole.com/90364/ http://blog.jobbole.com/597...

2015-11-27 21:48:35 352 0

原创 2014-2015年工作学习记录

1. makefile文件中链接静态库有两种写法: gcc -o hello hello.c libfunc.a gcc -o hello hello.c -L. -lfunc 链接动态库只有一种写法 gcc -o hello hello.c -L. -Lfunc 如果一个目录既有libf...

2015-08-10 16:46:05 497 0

原创 2015及2016计划

2015 未完成工作: 1. 英语词汇量5K,每天早上抽时间练习 2. 多陪孩子和家人,多锻炼身体 3. 主动交流 4. unix网络编程(卷1) 2016/2017年 计划: 1. 程序员修炼之道 2. UNIX编程艺术 3. 深入理解计算机系统 4. 深入理解LINUX内...

2015-08-07 10:25:07 490 0

原创 面试书推荐

http://www.hawstein.com/posts/ctci-solutions-contents.html  中文译本《 程序员面试宝典》 《Cracking the coding interview》是一本被许多人极力推荐的程序员面试书籍   http://www.careercup...

2015-08-07 10:22:03 719 0

原创 linux查找函数/查看文件夹size/tab转4空格 命令

linux查找系统某个函数或宏定义方法 find -type f -name "*.c" | xargs grep -sn ""            // grep的 -s参数,表示不显示错误信息 grep -r "string&quo...

2015-08-07 09:46:55 678 0

原创 bash学习

1. 文件开始添加:   #!/bin/bash   : 表明这个脚本需要使用bash shell来运行 2. $X : 这种格式来应用变量, 有当变量值包含空格时需要加上引号 3. 等号(=)两边不能有空格。 错误例子: X = hello 4. shell将每一行命令视为命令及其参数的集...

2015-08-07 09:42:56 386 0

原创 live555学习小结

http://blog.csdn.net/niu_gao/article/details/6911130 http://blog.csdn.net/ithzhang/article/category/2408387 http://blog.csdn.net/leixiaohua1020/art...

2015-08-07 09:40:54 432 0

转载 c++中的explicit关键字

c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢? 如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的...

2015-08-05 15:15:18 338 0

原创 linux 性能分析工具

1. iostat-d -k 1 10       -- 查看IO吞吐量 2. iostat-d -x -k 1 10    --查看IO设备使用率( %util ),响应时间(await) 3. cat /proc/net/sockstat  查看socket状态 4. iptr...

2015-08-05 11:24:33 441 0

原创 单buffer,双buffer和三buffer的区别

2015-08-04 15:26:38 1072 0

原创 I/O设备如何读取数据

现在I/O设备与主存之间,移动数据(包括读入和写出)都需要使用DMA技术。  DMA: 直接存储器访问 DMA单元能够模拟处理器,从而获得对系统总线的控制权,就像处理器一样。 为实现这一点,DMA需要在系统总线上面和存储器进行双向的传送数据。 DMA技术的工作流程如下: 当处理器...

2015-07-31 18:16:43 2162 0

原创 进程切换

1. 执行模式 大多数处理器至少支持两种执行模式: 用户模式和特权模式(也叫内核模式)。 例如读取或改变诸如程序状态字之类的控制寄存器的指令,原始I/O的指令和内存管理相关的指令。 用户程序运行在用户模式下。 使用两种模式的原因是可以保护操作系统和重要的操作系统数据表(如进程控制块等)不受用户程序...

2015-07-31 15:33:52 1028 0

转载 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)

转自: http://blog.csdn.net/cowbane/article/details/6630298  首先,先稍微了解系统调用的概念:     系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应...

2015-07-31 13:54:32 471 0

原创 这些年积累下的URL(从firefox导出)

#bookmarks02.html      It will be read and overwritten.      DO NOT EDIT! --> Bookmarks 书签菜单         从 Internet Explorer             5种开源...

2015-07-30 10:25:57 11247 0

原创 封装printf函数,让log可以打印文件名和行号

/////////////////////////////////////////////////////////////////////////////// // Printf \033[0m 關閉所有屬性 \033[1m 設置高亮度 \033[4m 下劃線 \033[5m 閃爍 \...

2015-07-30 09:53:42 2811 0

转载 Linux下查看分区/文件夹大小

Linux下查看分区/文件夹大小 linux下: 一套电脑可以有多个硬盘, 每个硬盘只能有总个数不能超过4个的分区(包括主分区和扩展分区) 扩展分区可以划分为多个逻辑分区。 df命令可以显示目前所有文件系统的可用空间及使用情形.参数-h 表示使用「Human-readable」的输出,也...

2015-07-24 17:39:23 727 0

原创 openCV整理的资料

OpenCV这一名称包含了Open和 Computer Vision两者的意思, 是有intel资助的开源项目。  (会用到线性代数的知识) computer vision:计算机视觉 OpenCV作为开放的数字图像处理和计算机视觉软件平台,有以下特点:     ① 开放C源码。...

2015-07-24 11:11:11 419 0

原创 C++四个新的类型转换操作符

C++通过引进四个新的类型转换操作符克服了C风格类型转换的缺点,这四个操作符是: —const_cast( expression) dynamic_cast( expression) static_cast( expression) reinterpret_cast( expression)...

2015-07-20 11:17:08 679 0

转载 转:线程池原理及创建(C++实现)

本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。  ...

2015-07-18 23:07:32 412 0

转载 五大算法思想

五大算法思想 分治算法 一、基本概念    在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很...

2015-07-09 13:53:19 6803 1

原创 thread线程栈size及局部变量最大可分配size

进程是操作系统的最小资源管理单元, 线程是操作系统最小的执行单元。 一个进程可以有多个线程, 也就是说多个线程分享进程的资源,包括栈区,堆区,代码区,数据区等。 sundh@linhaoIPTV:~$ ulimit -a core file size (blocks, -c) 0...

2015-07-08 17:20:16 4844 0

原创 int float double 最大值,最小值及内存分布

拿32bit X86机器测试: /* coder: ACboy date: 2010-3-1 */ #include #include using namespace std; ...

2015-07-07 20:07:16 10627 0

原创 如何排序大文件?

在某些应用中,因为内存资源有限制,而要排序的文件很大(比如10G的文件,只有10M的内存) 主要的思想是: 1 分割文件,使分割的文件能全部加载到内存。 2 分别排序每一个分割的文件 3 合并文件 : 每次顺序查找当前内存中的最小行   如下是一个简单的window上的实现: //单行最...

2015-07-07 11:10:19 790 0

转载 GPU:并行计算利器

摘自: http://blog.jobbole.com/87849/ 1 GPU是什么 如图1所示,这台PC机与普通PC机不同的是这里插了7张显卡,左下角是显卡,在中间的就是GPU芯片。显卡的处理器称为图形处理器(GPU),它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复...

2015-07-02 10:31:12 615 0

转载 Unix/Linux的 mmap()内存映射

mmap() UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个: 1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能; 2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间; 3、为...

2015-06-09 15:07:52 1217 0

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