自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

转载 如何判断两个整数相加减是否溢出

一、两个无符号整数相加减对于两个w位宽的无符号整数来说,其能够表示的范围在0如果两个无符号整数相减,若溢出,则结果将位于这两个整数之间。二、两个有符号整数相加减对于两个w位宽的有符号整数来说,其能够表示的范围在-2w-1次方如果两个有符号整数相减,值得注意的是,作为减数的数的值为-128时(我们这里取整数为8 bits),结果是否溢出的判断则

2016-03-24 14:17:03 8951

转载 值得推荐的C/C++框架和库

值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.ti

2016-03-04 11:18:44 448

转载 dns报文格式

转载:http://blog.chinaunix.net/uid-24875436-id-3088461.htmlDNS报文格式(借个图贴过来):       说明一下:并不是所有DNS报文都有以上各个部分的。图中标示的“12字节”为DNS首部,这部分肯定都会有,首部下面的是正文部分,其中查询问题部分也都会有。除此之外,回答、授权和额外信息部分是只出现在DNS应答报文中的,而这

2016-01-22 15:24:14 791

转载 C语言域名解析的简单实现

本文转自:http://basiccoder.com/dns-resolver-by-c.html看了看DNS协议的相关东西,其实实际编程的时候根本用不到DNS细节的东西,要获取域名的时候经终端下用host或者nslookup指令就可以,在c里面使用gethostbyname或者getaddrinfo都能很轻松得将dns域名解析为ip地址,写这个纯粹出于个人兴趣,或者说是闲得吧。

2016-01-22 10:56:20 10836

原创 Python的POST和GET方法

1.GET方法get方法是直接将要请求的数据放在url中,下面用httplib和urllib2模拟用户登录。1)2)2.POST方法POST方法是直接将要请求的数据放在data或body中,不能放在url中,下面用httplib和urllib2模拟用户登录。1)2)httplib实现了http和https的客户端协议,但是在p

2015-12-09 18:31:26 1800

原创 支持sftp协议的libcurl编译

以为mips平台编译为例,为了支持OTA(sftp协议),下面介绍生成Makefile的配置,各个配置空格隔开,生成Makefile之后,执行make,make install完成安装。1 编译libz源码包:zlib-1.2.8CC=编译器绝对路径/mips-linux-gcc ./configure--prefix=libz库的安装路径2 编译openssl源码

2015-11-06 16:44:03 4461

转载 Log4c使用

Log4c 使用注:【转载请注明文章来源、保持原样】出处:http://www.cnblogs.com/jyli/archive/2010/02/11/1660606.html作者:李嘉昱最近想找个好用的Log工具,比较了一下流行的开源Log工具Log4c,Log4CPP, Log4CXX等,觉得还是Log4c比较合适。Log4cxx需要依赖于APR。Log

2015-11-02 18:36:40 460

转载 深度优先搜索(DFS) 算法

深度优先搜索(DFS)1.前言深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。你可以跳过第二节先看第三节,:)2.深度优先搜索VS广度优先搜索

2015-10-27 09:40:54 590

转载 BFPRT(线性查找)算法

BFPRT算法是解决从n个数中选择第k大或第k小的数这个经典问题的著名算法,但很多人并不了解其细节。本文将首先介绍求解这个第k小数字问题的几个思路,然后重点介绍在最坏情况下复杂度仍然为O(n)的BFPRT算法。一 基本思路关于选择第k小的数字有许多方法,其效率和复杂度各不一样,可以根据实际情况进行选择。将n个数排序(比如快速排序或归并排序),选取排序后的第k个数,时间复杂度

2015-10-27 09:39:51 1583

转载 堆排序算法

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总

2015-10-27 09:38:51 246

转载 快速排序算法

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速

2015-10-27 09:37:33 264

转载 归并排序算法

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plaincopy//将有

2015-10-27 09:36:32 270

转载 二分查找算法

二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为:    1.第一步查找中间元素,即5,由于5    2.寻找{6, 7, 8,

2015-10-27 09:35:48 300

转载 广度优先搜索(BFS)算法

1.前言广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。 一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的。算法导论里边会给出不少严格的证明,我想尽量写得通俗一点,因此

2015-10-27 09:35:11 383

转载 Dijkstra算法(单源最短路径)

Dijkstra算法(单源最短路径)      单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。一.最短路径的最优子结构性质   该性质描述为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k

2015-10-27 09:33:50 443

转载 动态规划算法

笔试面试中经常会出现一些考察动态规划方面的题目,以前没有接触过,现在初学做个整理。1. 什么是动态规划?         和分治法一样,动态规划(dynamicprogramming)是通过组合子问题而解决整个问题的解。         分治法是将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解。         动态规划适用于子问题不是独立的情况,也就是各子

2015-10-27 09:32:58 265

转载 一个生成伪随机数的超级算法

最近浏览“程序员论坛”时发现不少好帖,增长了不少知识,现拿其中一则为例与大家共同分享心得。  某人提出一个问题:怎样才能生成一亿个不重复的随机数?  问题表述起来很简单,似乎只要弄明白什么叫随机数以及怎样用电脑生成随机数,就能解决问题。  随机数,个人理解为一定范围内出现的毫无规律的数,比如扔一个骰子,落在桌面上时朝上的一面所表示的数就是随机数,这个数只能在1到6的范围内,

2015-10-27 09:31:15 1086

原创 libxml编程--内存泄露

最近在项目中使用到了libxml函数库,使用过程中用valgrind进行检测的时候发现了一些内存泄露。  主要是两个问题,现整理如下。  1.xmlGetProp函数      调用这个函数会返回一个xmlChar类型的指针xmlChar* szAttr = xmlGetProp(propNodePtr,BAD_CAST "attribute");

2015-10-11 11:36:06 2115

转载 libxml编程--函数总结

--------------------------------------------------------------------------------------------------l   xmlChar 替代char,使用UTF-8编码的一字节字符串l   xmlDoc 包含由解析文档建立的树结构,xmlDocPtr是指向这个结构的指针。l   xmlNod

2015-10-11 11:31:44 337

转载 libxml2编程--C语言xml初使用(2)

上接《C的xml编程-libxml2(1)》3、简单xml操作例子了解以上基本知识之后,就可以进行一些简单的xml操作了。当然,还没有涉及到内码转换(使得xml中可以处理中文)、xpath等较复杂的操作。3.1 创建xml文档有了上面的基础,创建一个xml文档显得非常简单,其流程如下:l   用xmlNewDoc函数创建一个文档指针doc;

2015-10-09 17:00:34 5771

转载 libxml2编程--C语言xml初使用(1)

1、下载与安装LIBXML2Libxml2是一个C语言的XML程序库,可以简单方便的提供对XML文档的各种操作,并且支持XPATH查询,以及部分的支持XSLT转换等功能。Libxml2的下载地址是http://xmlsoft.org/,完全版的库是开源的,并且带有例子程序和说明文档。最好将这个库先下载下来,因为这样可以查看其中的文档和例子。由于我是在linux下用C语言进行开发的,

2015-10-09 16:36:29 3734

空空如也

空空如也

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

TA关注的人

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