自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 收藏
  • 关注

原创 从一到面试题谈起

一道面试题最近看CSDN,又谈到一道面试题,大致是“不使用比较运算符和库函数比较两个整数的大小”。这种题看似简单,实则深藏玄机,考得不只是技巧还有很多基础知识。第一种解法第一种解法是楼主给出的,很简单:(int)(((long)a – (long)b)>>>63)代码是Java的,解题的思路也很简单,原理是a-b>=0等同于a>=b而和0的比较可以取符号位进行判断,如果差值为非

2009-05-11 21:27:00 765

原创 date和stat

linux系统中的两个命令,今天写了个脚本,比较当前时间和文件中最后修改时间,用到了两个命令,mark一下。两个命令中都有一系列format选项,date用的较多,使用“+”接format选项即可,在脚本中使用date +%s获取当前时间(1970年到现在的秒数)。stat命令用的较少,man了一下,又baidu了一番,最后细看了有看,试了又试,才发现stat有个开关“-c  --form

2009-05-11 21:21:00 779

原创 共享内存

进程间通信知识了解不少,今天第一次正式使用,就出问题了。这里选用的是共享内存存储数据,共享数据为一数组,大小动态分配,使用文件映射内存供不同进程进行访问。因为数组大小动态分配,在内存中存储有两个辅助数据,数组大小和当前使用大小,结构如下:struct SharedArray{ int used; int size; int *array;} 在分配内存时,大

2009-05-11 21:18:00 939

原创 GCC C语言扩展(1)

 看开源的代码中发现了一些静态函数声明后有如下内容:__attribute__ ((constructor))这是gcc的扩展属性,文档中说明如下:The constructor attribute causes the function to be called automatically before execution enters main (). Similarly, t

2009-05-11 21:14:00 580

原创 Linux的loadavg

 查看linux系统性能的时候,会涉及到一个参数loadavg。那loadavg确切的含义是什么呢?loadavg可以通过/proc/loadavg获得,我们man一下proc。其中对loadavg的描述如下:    loadavg              The load average numbers give the number  of  jobs  in  the

2009-05-11 21:12:00 1419 1

原创 标准C函数:strncpy

前两天看libsmi源代码,里面对strncpy函数进行了封装,感觉有些缺陷,虽然内部使用的函数,满足要求就可以了,但想了想发现自己它了解的也不是很多。关于strncpy,《C程序设计语言》中是这样介绍的:“char *strncpy(s, ct, n),strncpy用于把字符串ct中最多n个字符拷贝到字符串s中,并返回s。如果ct中少于n个字符,那么就用’/0’补充。”写了一个简单的程

2009-05-11 15:04:00 3032 2

原创 2008.8.26

奥运会结束了,工作也要开始忙起来了。从开幕到闭幕,看了两个星期的比赛,有高兴,有惊喜,有震撼,也有失望。现在被比赛牵动的心,又得趋于平淡。回归现实,还是工作的劳累和生活的奔波。前天查了系分考试的成绩,论文没有过。成绩在意料之间,一篇字数刚好、内容跑题的论文,又怎么能过呢。失败也是经验,感觉以下几点:1、系分没有想象中那么难考。好好准备一下,争取基础知识和案例成绩再提高一些。2、自己的文字组织能力有

2008-08-27 21:20:00 423 2

原创 gtest(google的c++单元测试)试用

google开源了c++单元测试框架,真让人兴奋。安装的过程比较简单,在eclipse+mingw+cygwin下很easy就搞定了。使用也很容易,按照sample不用看文档也能很快上手。过程就不多少了,记点东西备忘。断言:ASSERT_TRUE(condition); EXPECT_TRUE(condition); condition为真ASSERT_FALSE(condition);    E

2008-08-01 12:31:00 2264

原创 eclipse3.4.0+CDT5.0

eclipse的出现和每一次版本升级,都让人兴奋,赶紧把公司和家里都升了上去。用了两天感觉还不错,只是公司里eclipse时不时的来一下自动关闭,my god,难以忍受,无奈公司里闲暇时间不多,没有多的时间折腾,升级了一下jdk,好了很多。因为主要做C开发,说说对新版的CDT的感受:感觉索引快了很多,对宏的解析好像也比开始多了一些左边的文件树像java一样,把include文件都放

2008-07-17 22:14:00 800 3

翻译 snort文章整理

很久没有接触snort了,由于工作的原因,和它打了两年多的交道,虽然有不少的认识,但缺少深入的研究。闲来时翻的几篇手册,原来放在163上,偷懒放个总的上来。Snort2.6——USAGE(中文)http://hz318.blog.163.com/blog/static/899397200702312651380Snort2.6——PROBLEMS(中文)http://hz318

2008-07-07 20:23:00 552

原创 搭建cppunit单元测试环境

今天参考surt的“[教學]MinGW+Cygwin+CppUnit用Eclipse撰寫CppUnit測試程式 [精華]”一文,搭建了一个cppunit的单元测试环境。做了几年C/C++开发,一直想要把单元测试加上,因为工作安排,做了一小段时间的java,更坚定了搭建c++单元测试环境的想法,但不得不说cppunit的配置实在是有些繁琐,MinGW的安装还好说,cygwin安装实在是太慢,可怜

2008-06-02 10:30:00 2142

原创 C++测试程序(1)——测试C++对象作为函数参数和返回值的内存分配

一直使用C,由于项目需要,学习一些C++作为补充。由于开始的习惯,拿着对象都是指针进,指针出,虽然没有多少问题,但经常还是感觉别扭。网上找了找,没有看见写的特别清楚和完全的(可能比较分散),这里写个测试程序辅助理解。测试程序如下:#include iostream>using namespace std;class Test...{public:    Test(int x, int 

2008-05-19 15:16:00 773

原创 虚函数与继承(3)

#include iostream>#include vector>using namespace std;inline void print(char *msg)...{    cout  " "  msg  endl;}class A...{public:    virtual void foo1()    ...{        print("A:v_foo1");    }    vo

2008-05-06 14:07:00 348

原创 虚函数与继承(2)

#include iostream>#include vector>using namespace std;inline void print(char *msg)...{    cout  " "  msg  endl;}class A...{public:    virtual void foo1()    ...{        print("A:foo1");    }        

2008-04-29 12:57:00 388

转载 【转载】杂谈云计算:天边飘过GOOGLE的云

写云计算的一篇文章,挺有意思,技术文章也能这样去写!原文地址: http://news.csdn.net/n/20080411/115132.html

2008-04-18 19:12:00 322

转载 【转载】九城、巨人需要贵族唐骏

原文:http://soft.ccw.com.cn/it/htm2008/20080414_406617.shtml 

2008-04-14 12:41:00 692

原创 面试算法题——丑陋数求解

做过一道求丑陋数的面试题,下面是一篇关于丑陋数的文章,写得不错:http://www.programfan.com/blog/article.asp?id=25030本文对文中的三种方法进行整理,并描述我当时的解法。以下两种方法逐个遍历整数,筛选出丑陋数,效率太低:1、逐个遍历,直接测试是否为丑陋数,判断依据是丑陋数去除2、3、5因子后结果为1 static int

2008-04-12 02:32:00 1327

原创 经典文档生成工具——doxygen

经常用它,名字不是很好记,每次都得baidu一下“C文档生成工具”,才能把它找到。留篇文章,便于以后使用。 一篇使用文档:使用doxygen官方地址:http://www.stack.nl/~dimitri/doxygen/grephviz,doxygen需要的画图工具:http://www.graphviz.org/。最新版本需要VC2005运行时环境才能运行,点击补丁下载。

2008-04-08 14:09:00 1016

原创 经典算法——求最大子序列和(2)

这是我面试的时候想到的算法的实现,使用分治法,算法复杂度为O(n*log(n))。算法描述如下:     对于每一个划分子序列需要获取4个数值:         sum(子序列和)、maxSum(最大子序列和)、lMaxSum(最大的含有最左侧节点的子序列和)、rMaxSum(最大的含有最右侧节点的子序列和)      递归算法(res为需要运算的结果,lRes、rRes分别为该段的左右划分):

2008-04-07 12:16:00 1173 1

原创 经典算法——求最大子序列和(1)

比较经典的算法问题,能够很好的体现动态规划的实现,以一点“画龙点睛” 大大精简了算法复杂度,且实现简单。本文中实现了4种:一般 maxSubSequenceSum0  O(n^3)简单优化过的算法 maxSubSequenceSum1  O(n^2)分治法优化的算法 maxSubSequenceSum2  O(n*log(n))动态规划的算法 maxSubSequenceSum3 

2008-04-04 23:54:00 5365

原创 四月,新的开始……

…… 

2008-03-30 22:22:00 289

原创 三年了,也该动一动了

三年的时间,说短不短,说长也不算长。但对于一个由学校,步入社会的人来说,这三年的影响却是巨大的。从开始,就会写写函数,只会用delphi拖拖拽拽的,做个小软件,到现在动辄上万上十万行的代码。做过事件驱动开发,做过面向过程开发,也做过短暂的OO开发。写过脚本,写过C,写过java,写过百来行的嵌入式,也拿着书就着百度、google凑合一两个汇编的函数。做过很多测试、翻译、编码、设计甚至售前售

2008-03-30 22:18:00 304

原创 在Java程序中使用JNative调用dll文件

  因为项目需求,需要在java中调用dll文件。测试过几种方法,发现还是JNative最为便利。1.   安装到jnative.sourceforge.net下载最新的JNative二进制包,解压后得到3个文件:JNativeCpp.dll,libJNativeCpp.so,JNative.jar,其中:JNativeCpp.dll     放在windows/system32目

2008-02-18 14:28:00 5118 2

原创 程序员2008.1算法题

/** * Cantor表: * 有理数可以按照以下顺序进行排列,这个排列表叫Cantor Table *   1/1 1/2 1/3 1/4 *   2/1 2/2 2/3 2/4 *   3/1 3/2 3/3 3/4 *   4/1 4/2 4/3 4/4 *    ………… * 可以对Cantor表进行序列化: *   1/1 1/2 2/1 3/1 2/2 1/3 1/4 …… * 给出

2008-02-15 21:13:00 431

原创 程序员2007.12算法题

/** * 题目:时间表达 *    英语表达时间有如下6种类型: *       It is five past seven.(7点5分) *       It is eleven to ten.(9点49分) *       It is half past nine.(9点30分) *       It is a quarter past eight.(8点15分) *       It is

2008-01-02 16:52:00 346

原创 初尝批处理——批量删除svn标志

Shell写了不少,批处理却一直没用过。简单的说,批处理就是一些dos命令的组合。今天小试牛刀,写了第一个批处理程序,顺便也了解了一下常用的dos命令。以前总觉得dos的东西有些过时,一直没有好好的学过,初次尝试了一下其便利性,也算多了一点知识。程序代码如下: @echo off

2008-01-02 13:16:00 2383 1

原创 虚函数与继承(1)

测试程序如下:#include iostream>using namespace std;class A...{public:    A()    ...{        cout  "1--new(A)"  endl;    }    virtual void foo()    ...{        cout  "2--A::foo()"  endl;     }        vir

2006-07-18 10:06:00 421

原创 百度竞赛-3变态比赛规则

3.变态比赛规则为了促进各部门员工的交流,百度举办了一场全公司范围内的“拳皇”(百度内部最流行的格斗游戏)友谊赛,负责组织这场比赛的是百度的超级“拳皇”迷W.Z。W.Z不想用传统的淘汰赛或者循环赛的方式,而是自己制定了一个比赛规则。由于一些员工(比如同部门或者相邻部门员工)平时接触的机会比较多,为了促进不同部门之间的交流,W.Z希望员工自由分组。不同组之间的每两个人都会进行一场友谊赛而同一组内的人

2006-06-07 17:13:00 690

空空如也

空空如也

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

TA关注的人

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