- 博客(32)
- 资源 (17)
- 收藏
- 关注
原创 线程池已更新,测试已无bug,欢迎反馈
貌似距离上一篇博客的更新快一年了,中间遇到实习,找工作,过年,继续实习,等待毕业等等事情,还赶上csdn密码泄漏事件,一直没怎么更新过博客。后来几位网友反应了线程池的一些问题,中间没怎么有时间,也有点懒散了,到今天才把几个bug修复。修正后的源码已经在sourceforge上更新。该线程池支持动态增加线程,管理线程定时回收多余的空闲线程。 V1.02: 修正线程池死锁
2012-05-14 23:00:41 2329 2
原创 深入理解C语言中的指针与数组之指针篇
前言其实很早就想要写一篇关于指针和数组的文章,毕竟可以认为这是C语言的根本所在。相信,任意一家公司如果想要考察一个人对C语言的理解,指针和数组绝对是必考的一部分。但是之前一方面之前一直在忙各种事情,一直没有时间静下心来写这些东西,毕竟这确实是一件非常耗费时间和精力的事情;
2011-08-05 13:52:08 23648 9
原创 Linux下设计一个简单的线程池
定义 什么是线程池?简单点说,线程池就是有一堆已经创建好了的线程,初始它们都处于空闲等待状态,当有新的任务需要处理的时候,就从这个池子里面取一个空闲等待的线程来处理该任务,当处理完成了就再次把该线程放回池中,以供后面的任务使用。当池子里的线程全都处理忙碌状态时
2011-08-01 15:19:21 23079 31
原创 谈谈如何判断一个Pop序列是否是一个Push序列的Pop顺序
有这样一道题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。 我们来模拟入栈和出站的过程:这里有三个角色:Push序列:它的动作只有一个那就是不断地将自己的元素一个个Push到栈Stack中,直到结束;Stack栈:它的动作则有
2011-07-29 14:57:10 4059
原创 关于飞机绕地球飞行一圈的加油问题
已知: 每个飞机只有一个油箱,飞机之间可以相互加油,注意是相互,没有加油机,一箱油可供一架飞机绕地球飞半圈。 问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? A:所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中
2011-07-25 15:31:54 27485 5
原创 说说Linux中的信号处理和僵尸进程的避免
什么僵尸进程 这里简单说一下,详细的到网上搜一下就知道了:僵尸进程就是指子进程退出了,而父进程尚未退出,并且没有对子进程进行wait,致使子进程的资源得不到释放,依然占据在内存中,从而变成了像"僵尸"一样的进程(僵尸不能动,却占据着身体;进程不能执行了,却占据着内存等资源)。这种进程因为不再活动了,不会对信号进行处理,使用kill向它发送信号是没有用的,也就是它变
2011-06-18 00:41:00 4717 1
原创 巧用可变参数宏、编译器内置宏和printf输出调试信息
前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#define _
2011-06-15 17:18:00 18744 7
原创 一个fopen函数中未使用二进制模式(b)引发的血案
最近写了一个网络文件传输模块,为了让这个模块具有更好的扩展性,我尽量使用C标准IO API来编写代码。模块是在Linux下面写的,一点问题都没有。但是昨天把客户端的代码移植到了windows上,结果就出现了一个很奇怪的问题,客户端从服务器端下载的数据保存在本地总是比服务器上的原始文件要大,下载的二进制文件(比如zip文件)总是被破坏,而下载的文本文件却看不出任何问题。看了半天代码,一直把注意力放在fread和fwrite函数上,怎么都看不出什么问题,Linux下测试也一点问题没有。于是我就又用fopen,f
2011-05-07 15:21:00 14502 3
原创 读《编程之美》有感—1的个数:数字x的个数
题目是这样的:给定一个十进制的正整数N,写下从1开始,到N的所有证书,然后数一下其中出现的所有"1"的个数。例如:N=2,写下1,2。这样只出现了1个"1"。N=12,我们会写下1,2,3,4,5,6,7,8,9,10,11,12。这样1的个数是5.问题是:写出一个函数f(N),返回1到N之间出现"1"的个数,比如f(12)=5在32为整数范围内,满足条件"f(N)=N"的最大的N是多少?书中的解法二是:通过分析"小于等于N的数在每一位上可能出现1的次数"之和来得到这个结果。
2011-04-13 19:41:00 3136
原创 Python学习笔记之条件表达式
<br />今天写代码的时候,发现python不支持C风格的 con? exp1:exp2 这样的条件表达式,后来一查,发现原来在2.5里面新增了该功能,不过是以另外一种方式来表达的,下面是在python 2.7.1文档中提供的说明,这里做了简单的翻译:<br /> <br />版本2.5中新添功能<br />conditional_expression ::= or_test ["if" or_test "else" expression]<br />expression
2011-04-11 20:05:00 3261
原创 Python练手之根据前序和中序&根据中序和后序重建二叉树,输出前序、中序和后序遍历结果
这是根据本人另一个C语言版本采用python实现的,更多详细解释可参考:http://blog.csdn.net/hinyunsin/archive/2011/04/11/6315502.aspx#-*- coding: utf-8 -*-#!/usr/bin/python#Filename: BTreeNode.py'''Created on 2011-4-11@author: boyce@contact: boyce.ywr@gmail.com@version: 1.0'
2011-04-11 17:40:00 5113
原创 根据二叉树的前序和中序求后序
在面试的过程中,发现有几家公司都喜欢考这样的一道题,就是在一棵二叉树中,已知这棵二叉树的前序和中序遍历结果,要求写出后序遍历结果。 例如:在一棵二叉树总,前序遍历结果为:ABDGCEFH,中序遍历结果为:DGBAECHF,求后序遍历结果。 我们知道,前序遍历方式为:根节点->左子树->右子树中序遍历方式为:左子树->根节点->右子树后序遍历方式为:左子树->右子树->根节点 从这里可以看出,前序遍历的第一个值就是根节点,然后再中序遍历中找到这个值,那么这个值的左边部分即为
2011-04-11 14:31:00 37895 3
转载 看Python应乎潮流的72变
软件业的特点,就是层出不穷的新东东涌现。Windows早就革了DOS的命,浏览器差不多革了桌面软件的命,云计算准备再革所有软件的命,最后还追上个乔布斯说一切听他的。 动荡的软件界,让人眼花缭乱。这一切的后面,是失落的编程族:好容易才精通的东西,随之变得一钱不值。曾经的人才,如同数码产品般的迅速贬值。乃至好多人怀疑,编程是吃青春饭的行当。 在我前10年的编程经历里,重复着同样的杯具。Turbo C学完了,用Borland C,Visual C++太麻烦,开始用PowerBuilder快速开发,接上去Del
2011-04-10 12:55:00 2370
原创 Python练手之6种经典排序算法
在入手了python之后,确实被它的简单的特性和上手容易度震惊过。不过python和c语言什么的又确实存在很大的差别,习惯了c语言,使用python的实习多少还是有些不习惯。 入手python一周左右了,为了熟悉和深化对python的理解,就把几种经典的排序算法拿来练手,顺便强化一下自己的基础知识。开始写了,才发现自己写出来的代码问题还真不错,排序的结果总是由各种问题,看来真的是很久没有用这些算法写过东西了,都忘了一些细节的东西了,汗哪。。。 废话不多说,开始练手吧。 排序前需要给定一个数据集,这
2011-04-09 13:44:00 36122 3
原创 Python学习笔记之全局变量
在python中,使用全局变量是需要使用global关键字进行申明的,否则会出问题。例如这样的一段代码,python就会报错 #!/usr/bin/python#Filename: use_global.py#Author: Boyce#Email: boyce.ywr@gmail.comcnt=0def fun(): cnt+=1 passfor i in range(0,10): fun()print cn 报错内容是:Traceback (most
2011-04-08 20:24:00 13412
原创 Python学习笔记之中文注释
通常,python源代码必须完全由ASCII集合组成,如果直接在python中添加中文注释的时候,python执行时会引发异常,告知非ASCII字符语法错误。 SyntaxError: Non-ASCII character '/xd5' in file D:/Project/python/sort/quick_sort.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for de
2011-04-08 19:59:00 11415 2
原创 Python学习笔记之递归
今天在做python练手,使用python设计快速排序算法之时,当列表规模变大的时候非常容易出现异常RuntimeError: maximum recursion depth exceeded 在网上查了,发现python默认的递归深度是很有限的,大概是900多的样子,当递归深度超过这个值的时候,就会引发这样的一个异常。 解决的方式是手工设置递归调用深度,方式为 import sys sys.setrecursionlimit(1000000) #例如这里设置为一百万
2011-04-08 19:50:00 8965
原创 百度Intern面试题之二叉树的网络传输及恢复--二叉树的文件存储和读取
这不是我的面试题,是一个同学在百度的面试题。 要求将一颗二叉树通过网络传输到给另一个客户端,并且在该客户端恢复为原始二叉树。 这道题目可以理解为如何将一颗二叉树存储到文件中,并且读取后正确恢复。 我想到了三种解决方法: 1. 二叉树补全法,将这课二叉树补全,变成一颗完全二叉树,再使用数组进行存储,写入文件中。这样做需要在节点中增加一个属性,标记是否为补全的节点。 这种方法不太合理,因为使用了补全操作,对于一颗很不规则的二叉树,将会占用非常大的存储空间,并且修改了二叉树的属性。 2. 游标实现
2011-03-31 19:51:00 7255 2
原创 说说这些日子的Intern面试感受
上一轮实习在学院实验室做的,跟着一个不是自己导师的导师做。做的后来,感觉很郁闷,不得不说,这个导师废话太多,烦人,对人批评多于表扬, 喜欢把自己的想法强加于人,表达观点也不明不白,口头上说喜欢你问问题,实际上没几个人敢问。大家都不喜欢他,背地里都明着暗着躲开他。这个实习项目是跟某家知名公司的合作项目,目的是期望通过项目的培训为公司招揽优秀员工,本来说好前4个月在实验室,后4个月在公司的实习的,工作跟实习分开,到时候留去自由,在12月份的笔试和面试后,我和另一个同学被公司给予了offer,后来因为大家不喜
2011-03-26 17:12:00 2676 5
原创 有道Intern面试题之最小对称数
这是上两周在有道Intern面试的一道题目,虽然最后我嫌麻烦,很傻的中途就拒掉了有道(唉,真的很傻,我后来还把Intel给拒掉了,结果又因为期望法国电信给出intel相同的实习工资,而导致法电背着我另外找了一个新人,最后导致自己重新回归了"待业"状态。。。)。在网上搜了搜,发现原来这又是一道经典的算法题,唉,自己看的算法题还是很有限的,要努力啊。 题目是这样的:给定一个字符串描述的正整数,给出大于该正整数的最小的一个对称数(对称数像1221,12321,例如比1220大的对称数是1221)S
2011-03-25 16:27:00 2954 1
原创 读《编程之美》有感—中国象棋将帅问题
请参照书P13-18. 题目是这样的: 在书中给出了这样的一个解法,却没有给出对这个解法的诠释,这里就对这个解法阐述一下自己的个人观点。 char i=81; while(i--) { if(i / 9 % 3 == i % 9 % 3) continue; printf("A = %d, B = %d/n", i / 9 + 1, i % 9 + 1); } return 0; 对于任意的一个数,我们可以得到这样的
2011-03-25 15:43:00 1913
原创 读《编程之美》有感—判断两个链表是否相交
请参照书P233-235.这道题让我联想起几道关于单向链表的经典题目:如果判断一个单项链表是否存在环?已知一个单向链表存在环,如果找出该环的入口点?已知两个链表相交,如何找出相交的第一个节点?如果对一个单向链表进行反转?已知一个单向链表,不知道该链表的头指针,已知一个
2011-03-13 20:21:00 2178
原创 PC与开发板之间最简单快速的文件传输方式
通常PC与开发板之间文件传输有这样的几种方式:PC上架构NFS服务器,板子上通过nfs指令挂载PC目录至开发板目录,然后使用cp指令从PC拷贝文件至开发板FLASHPC上架构ftp或tftp服务器,板子上通过ftp或tftp程序登录PC,下载文件至板子FLASH通过U盘等外设进行文件拷贝 这三种方式分别具有以下不便之处:1:需要之用cd,cp等命令行指令进行文件拷贝操作,效率低,容易出错NFS服务器不够稳定,开发板同PC传输文件时,很容易出现NFS服务器不响应等问题传输速
2010-11-24 17:30:00 9114 3
原创 Hostapd-0.8.x移植到ARM Linux
开发环境 ubuntu 10.04arm-linux-gcc version 4.4.1 目标环境 友善之臂mini6410linux-2.6.36 步骤 在做hostpad的移植前,请参照《openssl-1.0.0b - libssl 移植到ARM Linux》以及《Netlink Library - libnl-1.1 移植到ARM Linux》文档进行openssl和libnl的移植。 注意:libnl2.0版本的API与libnl1.x的不兼容,
2010-11-23 14:35:00 16374 8
原创 Linux下软AP功能之Hostapd介绍
Hostapd简介:简单说,hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。 Hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。 通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,
2010-11-23 14:09:00 55751 1
原创 openssl-1.0.0b - libssl 移植到ARM Linux
开发环境:ubuntu 10.04arm-linux-gcc version 4.4.1目标环境友善之臂mini6410linux-2.6.36移植步骤1.至官网下载最新的openssl,解压缩2.cd进入openssl-1.0.0b目录3.执行./Confiugre linux-elf-arm,配置环境为arm linux4.修改Makefile文件如下 指定CC为arm-linux-gcc 指定libdl为依赖的库指定AR和RANLIB为arm-lin
2010-11-23 12:50:00 17483 7
原创 Netlink Library - libnl-1.1 移植到ARM Linux
libnl简介: libnl is a library for applications dealing with netlink sockets. The library provides an interface for raw netlink messaging and various netlink family specific interfaces. libnl是为了方便应用程序使用netlink接口而开发的一个库。这个库为原始netlink消息传递以及不同的netl
2010-11-23 12:30:00 15872 3
翻译 Capabilities in symbian (Symbian中的“能力”一说)
Capabilities,中文意为“能力”,是Symbian平台的安全的一个重要组成。 规则1:程序的capabilities由exe程序的capabilities决定,而不是它所调用的DLL规则2:exe程序不能加载capabilities小于它自身的DLL Capabilities是Symbian平台安全性的一个重要特色,实在S60 3rd(Symbian v9.1)以后引
2010-05-04 15:02:00 1548
原创 为ListView添加自动列宽调整和点击列表头自动排序功能
.Net 2.0中,ListView中虽然增加了AutoResizeColumns函数,允许自动对列宽进行调整,但是对于其中的AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent) 也就是根据内容自动调整大小的效果却差强人意,因此决定自己动手写一个函数对其允许根据列的内容动态调整大小。下面就是动态调整列宽的函数源码:
2009-04-29 15:04:00 6184
原创 C#屏幕截取[包括桌面与窗口]
截取桌面图像,比较简单,只需要简单的调用Graphics的CopyFromScreen方法即可以实现; 关于将图像绘制到窗口上很容易实现,但是却很少看到有文章介绍从窗口上截取图像的。下面主要介绍一下关于窗口图像截取的方法。 要截取窗口的图像,需要用到系统提供的BitBlt函数,这个函数的作用就是从源设备的上下文中拷贝一张Bitmap图像至目标设备。具体参数
2009-04-09 13:08:00 6166 1
原创 C# 连接自动拨号与断开分析
C#的自动拨号和断开当前连接的代码网上很多,可是没有一个是真正自动的,就算我指明了对那个连接进行拨号,也只是弹出那个拨号连接的窗口,想要拨号还需要自己手动点击“拨号”按钮,才能开始拨号。 到网上找了很久,终于找到了解决方法。 现在把源码贴出来,给大家研究分析用。 拨号控制管理类:using System;using System.Collections.Generic;
2009-03-29 14:36:00 11523 24
Python技术手册(第2版) 第三部分
2011-04-12
Python技术手册(第2版) 第二部分
2011-04-12
Python技术手册(第2版) 第一部分
2011-04-12
Python基础教程(第2版) 第二部分
2011-04-11
Python基础教程(第2版) 第一部分
2011-04-11
Python3程序开发指南 第二版 (第二部分)
2011-04-11
Python3程序开发指南 第二版 (第一部分)
2011-04-11
Python参考手册(第4版) (第二部分)
2011-04-11
Python参考手册(第4版) (第一部分)
2011-04-11
Python 学习手册 第三版 (第二部分)
2011-04-10
Python 学习手册 第三版 (第一部分)
2011-04-10
Python 2.71 Document
2011-04-04
C# [分享] 写给心爱的女孩的一个漂亮的烟火小程序,带背景音乐
2009-04-10
C# [分享] 写给心爱的女孩的一个漂亮的烟火小程序,带背景音乐
2009-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人