自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值

1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻

2015-07-08 17:21:43 247

转载 Linux strace命令

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strace ca

2015-07-07 07:55:58 163

转载 linux处理dll hell的机制

1. 共享库命名以libmath.so.1.2.3, 其中1是主版本号, 2是小版本号,3是build号. 主版本号的修改意味着接口的变化, 小版本号和build号的变化意味着bug fix   这个名字称为动态库的real name2. libmath.so.1这个名字,这个成为动态库的soname, 共享库build时会把soname写入共享库头文件内3. 应用

2015-07-06 09:53:42 262

转载 linux处理dll hell的机制

1. 共享库命名以libmath.so.1.2.3, 其中1是主版本号, 2是小版本号,3是build号. 主版本号的修改意味着接口的变化, 小版本号和build号的变化意味着bug fix   这个名字称为动态库的real name2. libmath.so.1这个名字,这个成为动态库的soname, 共享库build时会把soname写入共享库文件头内3. 应用

2015-07-06 08:42:20 95

转载 Linux下生成动态链接库是否必须使用 -fPIC 的问题

在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库。经常遇到的一个问题是 -fPIC 是不是必需,因为好像不加经常也能正常运行,只是创建 .so 的时候会有一个警告。搜索、试验了一下,答案似乎是这样:(1) 通常的建议是始终加上 -fPIC 生成位置无关代码;(2) AMD64

2015-07-06 08:34:26 251

原创 快速排序

void printarr(int arr[], int num) {     int i;     i = -1;     while(++i         printf("%2d  ", arr[i]);     }     printf("\n"); }  int part(int arr[], int i, int j) {     int

2015-04-27 07:26:34 206

原创 注意比较int与size_t容易忽略的错误

size_t 类型的原型虽不好找,但可通过gcc -E xx.c来看到。 typedef unsigned int size_t; 于是它的类型其实是unsigned int的。 我们写代码时习惯于将索引值定为int型的,在while循环前给索引变量赋值为-1,这时很可能出问题了,-1与返回size_t值的字符串比较时,容易出现无符号与有符号值相比较的错误,此时索引值的值不是-1 而是INT_

2015-01-02 22:21:12 310

原创 Linux Shell之sed命令

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,

2015-01-02 10:50:51 207

转载 Linux查看程序端口占用情况

今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程。 使用命令:netstat –apn 查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进程占用。进

2014-10-20 09:47:33 236

转载 网络协议各层协议

网络协议 应用层  DHCPDNSFTPGopherHTTPIMAP4IRCNNTPXMPPPOP3SIPSMTPSNMPSSHTELNETRPCRTCPRTPRTSPSDPSOAPSTUNNTPSSDP

2014-09-28 10:21:26 349

转载 死锁原因及解决、避免办法

死锁的条件     互斥条件(Mutual exclusion)     :资源不能被共享,只能由一个进程使用。     请求与保持条件(Hold and wait):进程已获得了一些资源,但因请求其它资源被阻塞时,对已获得的资源保持不放。     不可抢占条件(No pre-emption)    :有些系统资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能由进

2014-01-13 21:55:24 328

转载 VMware Workstation虚机自动开关机

先准备好两个批处理文件,用文本编辑器写就行。开机脚本starvm.bat,内容就一行:"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" -T ws start "E:\备份\Documents\Virtual Machines\Fedora12\Fedora12.vmx"关机脚本stopvm.bat,内容也是一

2013-11-10 16:33:34 964

原创 malloc 碰到的诡异问题

代码中先申请了一块内存, 应该不存在内存越界问题,但第二个malloc申请内存是总是core dump/网上查到, 若之前内存被越界过, 后面的malloc可能就会失败。http://blog.csdn.net/bigapple88/article/details/5693489但我写的代码应该没有这个问题。源代码如下: 1 #include   2 #include

2013-11-03 20:37:27 384

转载 GDB下查看内存命令(x命令)

可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:x/ n、f、u是可选的参数。n是一个正整数,表示需要显示的内存单元的个数f:x 按十六进制格式显示变量。d 按十进制格式显示变量。u 按十六进制格式显示无符号整型。o 按八进制格式显示变量。t 按二进制格式显示变量。a 按十六进制格式显示变量。c 按字符格

2013-11-03 10:30:45 416

转载 SIGINT,SIGQUIT,SIGTERM,SIGQUIT 这些停止进程的信号有什么不同

2) SIGINT程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。3) SIGQUIT和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。15) SIGTERM程序结束(terminate)信号

2013-09-13 17:39:12 1073 1

原创 heap-sort-源码-堆排序

/*堆排序(大顶堆) 2011.9.14*/ #include "stdafx.h"#include #includeusing namespace std;// 调整堆, AdjustHeap, choose max of lt, rt prnt node, and swith that with parnt nodevoid AdjustHeap(int a[],

2013-06-23 14:28:31 338

转载 数据结构--堆排序

起源1991年计算机先驱奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德(RobertW.Floyd)和威廉姆斯(J.Williams)在1964年共同发明了著名的堆排序算法( Heap Sort )n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):(1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ n

2013-06-21 01:07:29 326

原创 简单排序

冒泡排序void bubble_sort(int array[], int length){    for (int i = 1; i     {        //把最大的文件交换到最后面去        for (int j = 0; j         {            if (array[j] > array[j+1])            {

2013-05-18 15:23:32 366

Python_Web开发实战.扫描pdf

真正的pdf文档,非笔记,与那挂羊头卖狗肉的白白骗积分的货色不一样,真正的pdf文档,非笔记,与那挂羊头卖狗肉的白白骗积分的货色不一样,真正的pdf文档,非笔记,与那挂羊头卖狗肉的白白骗积分的货色不一样,

2018-03-10

mg-mib browser

mg-mib browser v10, 经测可用!

2014-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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