摘要:
参考Posix线程编程指南(2)范例的代码其实意义不大,child2函数完全没有必要。作者没有解释对于struct等复杂类型该如何做的问题,也就是为什么会有echomsg的问题。1.echomsg 其实是个注册的destructor,永远释放在线程中分配的私有数据,由于pthread_setspecific(key,(void *)tid);只能对指针进行操作,所以malloc之类的操作必不可少。2.对于struct的读写,需要分配一个struct类型的变量。具体的代码如下。#include <stdio.h>#include <stdlib.h>#include &l 阅读全文
摘要:
以下文字转载自《最长公共子序列实现》一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。最长公共子序列就是求给定两个序列的一个最长公共子序列。动态规划可以有效的解决此问题。注释:子序列(subsequence)的概念不同于串的子串。它是一个不一定连续但按顺序取自字符串X中的字符序列。给定两个序列X={x1,x2,...,xm}Y={y1,y2,...,yn}求X和Y的一个最长公共子序列举例X={a,b,c,b,d,a,b}Y={b,d,c,a,b,a}最长公共子序列为LSC={b,c,b,a}分 阅读全文
摘要:
HTTP(Hypertext Transfer Protocol, 超文本传输协议),用于从WWW服务器传输超文本到本地浏览器的传输协议。你可以通过协议定制传送的内容,从而减少网络传输。HTTP协议是以TCP/IP为基础的高层协议。现在广泛使用的版本HTTP/1.1。 HTTP协议基于请求/响应模式(Request/Response).客户与服务器建立连接后,按照协议规定格式,发送请求到服务器,客户得到请求后,返回响应信息给客户。HTTP使用的端口号,通常为80。HTTP协议状态码的含义号码 含义-----------------------------------------"10 阅读全文
摘要:
摘自http://www.emenda.eu/index.php?option=com_content&view=article&id=44&Itemid=22&lang=zhUnderstand™从度量、图表、依赖关系分析、代码检查、等各方面全面管理您的源代码。Understand™主要特点Understand度量Understand™对所分析的代码进行高效的度量计算,其计算也可通过命令行自动运行,同时支持表格导出、图形显示以及GUI动态浏览;另外,更可以通过Understand Perl API进行度量的自定义。通过Understand,还可以产生项目级(包 阅读全文
摘要:
写成函数/* * ===================================================================================== * * Filename: strtrim.c * * Description: 删除字符串头部和末尾的空格 * * Version: 1.0 * Created: 08/30/2011 05:59:33 PM * Revision: none * Compiler: gcc * * Author: YOUR... 阅读全文
摘要:
1.面向对象的设计原则一 开放-关闭原则开-闭原则: 一个软件实体应该对扩展开发,对修改关闭。 满足开闭原则的模块符合下面两个标准: 对扩展开放 ------- 模块的行为可以被扩展从而满足新的需求。 对修改关闭 ------- 不允许修改模块的源代码。(或者尽量使修改最小化) 2.面向对象的设计原则二-单一职责原则单一职责原则 一个类应该只受一种变化的影响。 3.面向对象的设计原则三 - 接口隔离原则接口隔离原则 不应该强迫客户端依赖于他们不会使用的接口。 如果已经设计成了胖接口,可以使用适配器模式隔离它。像其他设计原则一样,接口隔离原则需要额外的时间和努力,并且... 阅读全文
摘要:
转自http://blog.csdn.net/clearriver/archive/2009/11/21/4846354.aspx随机抽样问题(蓄水池问题Reservoir Sampling)【问题】随机抽样问题表示如下:要求从N个元素中随机的抽取k个元素,其中N无法确定。这种应用的场景一般是数据流的情况下,由于数据只能被读取一次,而且数据量很大,并不能全部保存,因此数据量N是无法在抽样开始时确定的;但又要保持随机性,于是有了这个问题。所以搜索网站有时候会问这样的问题。这里的核心问题就是“随机”,怎么才能是随机的抽取元素呢?我们设想,买彩票的时候,由于所有彩票的中奖概率都是一样的,所以我们才是 阅读全文
摘要:
其实atoi比较简单些。一般处理也简单(无须考虑基数等问题,默认10为底),无非要注意符号的处理和可能的空格处理。#include <ctype.h>int yang_atoi ( const char * str ){ int n=0; int sign; char *p = (char *)str; while(isspace(*p)) ++p; sign = (*p == '-')?-1:1; if((*p == '+')||(*p)=='-') ++p; while(isdigit(*p)) n = 1... 阅读全文
摘要:
部分文字摘自《程序员面试题精选100题(51)-顺时针打印矩阵 》题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵:12345678910111213141516则依次打印出数字1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。对于该题,作者举例两个就得出 “让循环继续的条件是columns > startX * 2 && rows > startY * 2。”,实在不是能够理解。所以参考评论中的解答,写出如下代码。请重点关注二维数组作为参数的传递问题,参考《C++中 阅读全文
摘要:
源码下载地点:http://www.kohala.com/start/unpv22e/unpv22e.html按照README中的操作,先configure,然后进入lib目录下make报错gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS -c -o daemon_inetd.o daemon_inetd.cIn file included from /usr/include/netinet/in.h:24, from /usr/include/rpc/types.h:91, from /usr/include/rpc/rpc.h 阅读全文