自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jarod 的半个程序员

告别幼稚,走向无知

  • 博客(39)
  • 资源 (6)
  • 收藏
  • 关注

原创 在MS初为面试官的经历

自读书以来,我就喜欢老师的角色。因为总盼望着自己能够出题去考考那些神气的老师,看看他们又能拿多少分数。如今走过近三十个年头了,最终可以反过来了。所谓“丑媳妇熬成婆”,现在可以开始磨刀霍霍了。谈起出题,是因为最近开始帮助公司面试应聘者。我也才体会到面试官的不易。面试前需要准备。在这个网络信息传递飞速的时代,题目不好挑选。一个题目,必须具有丰富的细节。不能让应聘者给出的答案是YES或NO。

2011-11-12 15:26:48 983

原创 文章不知道被谁删除了

给个理由好么?

2011-11-12 14:06:58 590

原创 基于double lock的多线程安全的Singleton实现要点

老问题了,直接上代码(C#)class Singleton{ private static volatile bool beInitialized= false; private static object thisLock = new object(); private static Singleton instance; Singleton GetInstance() { if (!beInitialized) { lock(thisLock)

2010-12-08 21:07:00 1744

原创 给路人的单反上手教程

鉴于本人经常被悲剧,故写此上手教程,以方便各位给本人照相。 一、单反虚化特点单反有一个特点,就是对上焦的平面内(与相机平行),成像清晰,其它地方都会模糊。所以能拍出如下主体清晰,背景模糊(但这里还能看出是山)的照片来。如果把对焦平面搞到了背景,就悲剧了:二、对焦及操作如何确定对焦平面呢,其实可以由一个对焦点确定。把对焦点设在中心,让被摄的主体在取

2010-04-11 16:06:00 1370

转载 解读MTF曲线

转自蜂鸟:http://bbs.fengniao.com/forum/722915.html 看懂MTF,以便知道要烧啥镜头  图解:1.横坐标轴代表与画面中心的距离,从左到右代表从中心到边缘的成像(EF镜头的横轴约22mm,EF-S镜头的横轴约13mm)2.纵坐标轴代表MTF值3.黑色线条表示最大光圈,蓝色线条表示f/8光圈4.粗线表示10线/mm,细线表示30线/mm5

2010-03-01 14:22:00 4193 1

原创 一道“最长递增子序列”问题

某天,舟兄考了我一道题:一群人排队,每个人都朝一个方向,而且仰视,这意味着只能看到比自己高的人,而且一个高个子会挡着矮个子。现在给一堆整数,问队里,谁能看到的“高个子”最多。如:0 4 7 2 5 3 2 6 7 8,能“看得最多”的序列是2 5 6 7 8。 一眼望去,真像“最长递增子序列”,按O(NlogN)的算法,结果应该是0 2 3 6 7 8。但 0 是看不到 2 的,因为被

2009-09-09 16:08:00 670

原创 独一无二的C++模板 (1)

断断续续地看了《C++Templates》很长时间,在叹服于模板的神奇之余,也不得不承认这是一块充满陷阱的湿地。每次想要动手神奇一把,都会被某编译错误给无情地挡回;看英文似的,水平不够,只能“读得懂,写不出”;成了饥饿的小白鼠,远处放着奶酪,近处却是一鼠夹。此次总结,希望把最近的模板实践都剖析出要点,避免再犯相同的错误。 模板的魅力 当前,对于多数C++程序员来说,模板常常意味着类

2009-04-04 20:07:00 2821 2

原创 最简单的内存池-原理与实现

内存池的主要作用,简单地说来,便是提高内存的使用效率。堆内存的申请与释放(new/delete及malloc/free),涉及复杂的内存分配算法,相比由简单CPU指令支持的栈内存的申请与释放,则是慢上了数量级。另一方面,栈的大小是有限制的,在需要大量内存的操作时,堆的使用是必要的。当然,频繁地申请与释放堆内存,效率是很低的,这也就是内存池出现的原因。类似std::vector容器,在向vect

2009-03-15 12:41:00 4484 2

原创 关于 Tail Calls Optimization

关于Tail Calls Optimization,中文资料不是很多。但这也不是很难的概念。所谓Tail Call,就是指一个函数返回的值,为另一个函数的返回值。例子如下int foo(int a) { return bar(a+1);}int bar(int b) { return b*2;}  foo()中调用函数bar()产生的栈空间是多余,所以支

2009-02-16 20:45:00 986

原创 一个数学游戏

一个古老的数学游戏,很早就知道了,但一直编程没编正确。今天终于正确了。有1、2、3、4、5、6这6种牌,每种牌有3张。开始总点和记为24,然后两个人轮流选一张牌,然后从总点和里减去牌面值,直到总点和非正。谁取完牌后,总点和为0,则胜;若为负,则败。 例如:24A:321B:615A:114B:212A:57B:34A:4A胜

2009-02-08 12:53:00 991

原创 求凸多边形距离

求凸多边形的最远点对(就是距离最远的两个顶点),要求o(n),n为顶点数 参看:http://cgm.cs.mcgill.ca/~orm/rotcal.html两个点A,B:A初始化成任意一个点;B先走到A的对侧(离A最远的点)记录A-B距离 一开始,A走到y值最小的点,B走到y值最大的点。记录AB距离 然后A走到A,B走到离直线AA最远的地方。记录AB距离 如此重复,直到A走

2009-02-04 15:13:00 1089

原创 最长递增子序列

O(N^2)的代码很容易写。但O(N logN)的代码就要想好办天了。关键是其实一些数学的东西,没有提示,难想明白。  #include const int inf= 1000;int main() { const int N = 12; const int A[N] = { 2, 3, 1, 9, 0, 2, 3, 5, 4, 8, 2,3 }; int

2009-02-02 00:36:00 705

原创 几种C++编译器的性能比较

现在市面上,主流的C/C++编译器包括M$的CL、gcc、Intel的icl、PGI的pgcc及Codegear的bcc(原来属于Borland公司)。Windows上使用最多的自然是cl,而在更广阔的平台上,gcc则是C/C++编译器的首选。但要提到能力优化,排名就未必与它们的市场占有率一致了。 今天一时兴起,便做了一个各编译器数值性能的比较。测试的代码是一个求积分的程序,来源于inte

2008-11-18 18:50:00 3786 1

原创 用cl与icl的编译生成.lib与.dll

cl.exe 要生成 .lib 文件时,先要用 /c 编译成 .obj 文件。再用lib.exe编译成.lib文件,如 cl /c alib.cpplib alib.obj /out:alib.lib icl 生成.lib 文件,也是通过/c命令,不过,对应的链接器为xilink。用法相似。  cl生成.dll文件与icl不一样。cl用/dll,而icl用/LD选项

2008-11-18 12:23:00 2710

原创 NokiaLogo 2008-10-18

新增功能:第一次使用时,需要初始化;之后可以自己扫描以前的网标,变做更改(不需要再次清空短信);可以同时管理多个网标,但默认只有一个,这时NokiaLogo Mobile就有用了。初始化网标时,请在界面下端的横线下,用右键点击,选择相应菜单。可能更多型号的机器可以使用此软件,因为网标尺寸可以设置了(不过还没有其它型号的手机可以测试)。 另外,要注意选择SD卡驱动。 大的改动已经完成

2008-10-18 17:33:00 972 2

原创 OpenCV编译为静态库的补充

原来写的那篇文章实在过于简陋,而且日子一长,本人也没有再编译成功过。今天有兄弟相求,我便再次研究了一遍。现将结果再作一下总结。OpenCV现在的版本是1.0,已经很长时间没有更新了,不知道下个版本什么时候放出。其实,OpenCV的.dll文件并不多,如果想脱离这些.dll,使用静态库的话,那么一个小小的程序也差不多近2MB了。不过为了演示及发布方便,编译为静态库也算是一种需要吧。想编译成静

2008-10-15 20:25:00 5066 7

原创 Makefile学习笔记

在linux下用C++编程有一段时间了,但自己写的Makefile文件,总让我感觉不爽。终于今天有时间来研究这个问题。 Makefile的难点不是那几条规则的写法,而是make里存在的大量“潜规则”。其实这些潜规则,都可以通过 make -p 命令查看。里面最重要的,无非是cpp的编译潜规则: $(CXX) -c $(CPPFLAGS) $(CXXFLAGS),而链接潜规则为:$(CC) $(

2008-06-11 19:51:00 2099

原创 纪念曾经的Borland,希望CodeGear走好

Borland终于还是把CodeGear卖出去了。真不知,Borland的IDE伴随了世界多少编程者的成长;但至少知道,我就是这广大编程爱好者的其中之一。还记得,当第一台电脑启动之后,我对安装电脑的大哥的第一个要求就是装C++语言(当时也不懂语言和工具),于是就看他拿出一张光盘,之后出现了一个赛车的画面,等了数分钟之后,Borland C++ 5.0就安好了。其实当初懂得实在是少,又没有如果丰

2008-05-09 15:06:00 965

原创 Ubuntu 与 DELL

怎么说呢。这两个东西怎么总是不兼容。当初给一个同学装7.10,grub死活找不到。上网一看,才知道是bug。如今给自己的Inspiron530装 8.04,结果就是找不到SATA。果然又是bug!!只有在BIOS里改成RADI模式,才可以顺利安装和启动。但另一方面,我的windows就完 了。我就只有在bios里来回切了。唉!DELL的机器总会受到ubunut的bug。另外,ubuntu8.04还

2008-05-08 13:55:00 1020

原创 读了两本关于C++程序性能优化的书

 最近在耐着性子,看了大半的《C++应用程序性能优化》和《Efficient C++ Performance Programming Techniques》。总体感觉,虽然内容不一样,但前者就像是后者的中文化版及针对VC2003的版本。想来汉语本应言简意赅,但前者写得似乎有些啰嗦,看着反不如后者顺畅。一直用C++,大部分时间写数值计算的程序,所以C++的性能常常挂在心中。各种语言的性能比较,各

2008-02-04 18:55:00 5313

原创 读简体版的译者序

其实Modern C++ Design是本好书,但中文版的翻译水平实在不够。想必侯老也没有细细检查,同样是一个名词,在中的中文名称却是另一种翻译。还好,自己写的中文才是人写的中文。全书中,最容易读懂的就是译者序。侯老的这一段写得很有意义,须要细细体会:然而我一定要多说一句,算是对“唯实用论”的朋友们一些忠告。由来技术的推演,并不只是问一句“它有用吗”或“它现在有用吗”可以论断价值的。牛顿发

2008-01-23 14:11:00 771

原创 Borland 简介

现在很多大学生学习C/C++,除了VC,对其它编译器一无所知。 GCC或许还知道些,但Borland C++估计是完全没有概念了。这次借英语课演讲的时机,制作了一个PPT,向大家介绍一下心中的这个伟大公司Borland。In the field of CPU, No AMD, No Intel. This dosent mean Intel can not live without AMD,

2007-12-22 01:29:00 1067

原创 NokiaLogo 071220

突然发觉需要NokiaLogo的人实在太多。N73也成了街机。今天再次放出此软件,解除了时间限制。老版就不要保留了,人工copy mail2多麻烦啊。http://cid-a76b09051c67d496.skydrive.live.com/self.aspx/NokiaLogo/NokiaLogo071220.rar 另外,在个人资源里也放了一份:http://download.

2007-12-20 09:48:00 1808

原创 OpenCV 1.0 在VS2005中编译为静态库所需的设置

其实已经有一些资料介绍了OpenCV1.0如何编译为静态库,但这些资料多为针对vc6.0的。最近试了许久,才终于在VS2005下编译出了一个独立的应用程序。现在将设置关键记录一下。首先,OpenCv项目中,cv,cvaux,cvcore,cxts,highgui,ml几个工程,是需要编译为静态库的,其它的是测试用的工程。这几个库,有部分没有OpenMD优化,所以设置的时候,就选择Release

2007-12-07 11:41:00 3459 4

原创 MPI群通信与矩阵乘法的Fox算法实现

原本以为,MPI天生只能在Linux上运行。但这次却发现了Intel MPI Library 这个好用的东西。基本不需要设置,安上之后,用自己能登录windows的帐号和密码注册就行了。虽然不是局域网上的机器,但也可以让我的双核CPU达到100%(平时开个Matlab什么的都才是50%,软件优化真是关键啊)。FOX算法有一些恶心的要求:输入的矩阵必须是方阵,而且进程必须为平方数,方阵必须能均匀

2007-12-04 11:30:00 6113 1

原创 6条函数的MPI世界,处处有陷阱

MPI其实是十分简单而又强大的并行库。只是这次让我花了半天的工夫才到出了一个一个微小的BUG,让我几乎崩溃。原程序用于计算两个矩阵相乘。分配任务时,只把第一个矩阵分解传给若干个slave,第二个矩阵全传。虽然效率不高,但我的作业需要是把固定的矩阵大小改为可变的。源代码:#include "mpi.h"#include stdio.h>#include stdlib.h>#defin

2007-10-24 12:10:00 1209 1

原创 关于NokiaLogo过期

原本计划10月给出新版,但学习生活开始之后,发觉时间还是挺紧的;所以更新的计划没有实现。而现在我的N73也拿给同学玩了,测试的平台都没了。。。需要换网标的朋友,如果不怕多花5角钱,请用Mobile版的吧。 

2007-10-17 00:00:00 1544 2

原创 NokiaLogo Mobile版,仅供试用

话说,有始有终。所以决定还是放出NokiaLogo的手机版。简陋了些。由于证书问题,使用过程中总会有安全提示。没办法了。程序里内置了Beijing的logo,直接发送就可以了。http://cid-a76b09051c67d496.skydrive.live.com/browse.aspx/NokiaLogoPS:m$的空间不知道为什么突然出现不可以避免的广告,上传费了好大工夫;估计下

2007-08-26 23:17:00 1798 4

原创 预告:NokiaLogo 手机版正确准备中

新版NokiaLogo运行于手机中,功能与PC版有所区别。NokiaLogo手机版将用于发送网络标志给使用Nokia S60手机的朋友,以免除连接电脑的麻烦。发送通过短信功能进行,但相当于5条短信的钱,所以……PS:由于一些关键性的问题得不到解决,原本打算放弃手机版的开发。如在PC端能轻易访问的文件在手机端却不可访问。但今早上,突然顿悟,使我有了开发手机版的信心。接下来,就要慢慢啃API了

2007-08-23 13:02:00 954 1

原创 我看VC2005中的返回值优化

一直以来,我都认为C++中,返回大对象或多个对象就是一场恶梦:额外的开销太多,对于原生类型还可以承受,但对大对象来说,就严重地影响效率。所以STL的容器再方便,那也仅限于操作int,double这些类型,换作是操作自定义类型,一不小心就会掉近了陷阱。不过这方面还好,有boost的指针类型对象容器可以利用,是一种比较好的解决方案。另一方面,返回值的处理也不能都像Blitz::Array操作那样,可以

2007-08-22 00:00:00 1445 2

原创 近日的活动小结

想必也是很久没有用Delphi,没有搞RAD开发了,这次随便开发一个小软件,竟然出了这么多BUG,改得都要疯了。难得还有外国友人关心,也算是小小劳动的一点安慰。有了前些日子的一些基础,现在想把NokiaLogo做成手机版的,但Symbian没玩过,想必是一条漫长的路了。还是浅尝辄止比较好。这回用了Carbide,还是比cw好用。GUI很容易地就翻译运行成功了。试了一下console,才

2007-08-18 00:20:00 631

转载 S60 3rd SDK 的一些TIPS

今天装上了SDK,carbide,activePerl等,想着用Nokia提供的一套工具,应该不会遇到什么麻烦。结果出现了一个经典的问题:Epocroot没有设定。于是Google啊~各种说法。在环境变量里设置:EPOCROOT = / 或 EPOCROOT = /Symbian/9.2/S60_3rd_FP1/ (这还强调没盘符,前后都有/)。可是,我可怜的HelloWorld还是说没有

2007-08-16 21:37:00 964

原创 NokiaLogo 070816 发布! (已经更新为 070817 版)

udpate on 2007-08-17Any operator is supported: China, Spain, Italy, USA, Netherlands, Creece and so on.  This freeware is able to change your operator logo in your N73 or other compatible No

2007-08-15 18:12:00 3769 18

原创 boost/uBLAS,Primal Perceptron Algorithm,重定向

 今天写了一小段代码,一是试用一个uBLAS,二是学习一下Preceptron Algorithm的最原始形式,三是意外用了一下file重定向到stdin的功能。#include stdio.h>#include boost/numeric/ublas/vector.hpp>#include boost/numeric/ublas/matrix.hpp>#include boost/n

2007-08-13 16:21:00 1959

原创 关于几种std::vector访问方法的效率

 #define _SECURE_SCL 0#include boost/foreach.hpp>#include list>#include vector>#include algorithm>#include cstdlib>#include time.h>#include stdio.h>using namespace std;templatetypename Container

2007-08-13 00:29:00 3233

原创 Common Function Objects & Function Adapters

函数对象是一个好用的东西(Function Object),它不仅具有自己的状态(可以当作算法参数), 还在一般情况下可以内联获得更好的性能。当然,有些小的函数为获得较好的性能,是要经常被改写为函数对象的,如vectorint> v(10);//....sort(v, IntLess);    struct IntLess {     bool operator ()(const int

2007-08-11 19:00:00 907

原创 镇远印象

 镇远,一个依山傍水的古镇,父亲的故乡。 昨日,一个面包车载着全家来到了这个我阔别多年的地方。镇远不大,在小时的印象中,仅是一河两街的小城:两岸连绵不断的山间,舞阳河静静地流着,养育了栖岸而住的人们。如今有所发展,但河边的山峦并没有给小城让出更多空间,城市化的进程在这里止步,小镇依旧保留着古朴的风貌。河一岸的青龙洞,是小镇经历岁月的见证人。他像一个年迈的老者,与小镇一样,在喧嚣的世

2007-08-11 09:51:00 1084 2

原创 std::vector 插入数组的简洁代码

用了这么长时间的STL,却还有很多不知道的地方呢:int a[3] = ...{1,2,3};vectorint> v(a,a+3);v.insert(v.end(),a,a+3); 

2007-08-09 22:41:00 9190

原创 开张!做一个程序员的追求从未放弃!

如果做不了完整的程序员,那么,做半个也行!!CSDN的号我也有N个了。以前觉得太慢,在教育网内更新几乎是不太可能,ID也闲着没用。现在呢,想想也许学生反映多了,它也会有少许改善。我就忍了。为了我半个程序员的梦想。今天开始新的BLOG(惭愧,已经换了好多个BLOG了),愿我能安定下来^_^!

2007-08-09 22:12:00 1076

NokiaLogo 081018

2008 10 18 放出 还处beta阶段

2008-10-18

OpenCV 1.0 Static Library for VS2005

OpenCV 1.0 Static Libraries for VS2005. including: cx cvaux cxcore cxts highgui ml libjasper, libjpeg, libpng, libtiff, zlib ref: http://blog.csdn.net/jarodpku/archive/2008/10/15/3081298.aspx jarod 2008.10.17

2008-10-17

OpenCV 1.0 静态库 for VS2008

OpenCV 1.0 Static Libraries for VS2008. including: cx cvaux cxcore cxts highgui ml graphic(a package for libjasper, libjpeg, libpng, libtiff, zlib) ref: http://blog.csdn.net/jarodpku/archive/2008/10/15/3081298.aspx

2008-10-15

NokiaLogo071220

NokiaLogo 071220<br>解除了时间限制

2007-12-22

borland简介

对Borland公司的简介,为英语课演讲做的PPT

2007-12-21

NokiaLogo

修改N73等NOKIA手机的网络标志

2007-08-14

空空如也

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

TA关注的人

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