鹰之歌

既然你崇拜鹰,就要像鹰一样翱翔天际,俯瞰大地。哪怕会摔的粉身碎骨。

导航

2011年5月20日 #

可变参数函数的一个简单例子

摘要: 这里只是简单的描述一下C语言中如何使用参数数量可变的函数,至于stdarg.h中关键宏如何实现以及编译器如何处理这些更底层的东西,以后再说。我们知道,C语言中函数体包含三个要素:返回值类型、函数体、参数列表。其中参数列表一般情况下都包含个数及类型确定的参数信息,但是千万不要以为函数的参数就必须是个数确定的,其实我们每天都在用着这些例外的情况:printf(),scanf()..。这种函数的原型一般是ReturnType A (Type a,...Type b,...),第二个省略号即表示该函数参数个数为确定。那么如何在自己的代码中实现这种函数呢?举个例子,我们想编写一个函数average(). 阅读全文

posted @ 2011-05-20 16:20 鹰之歌 阅读(490) 评论(0) 推荐(0) 编辑

一些重要的算法

摘要: 酷壳: http://CoolShell.cn/ 原文: http://coolshell.cn/?p=2583 下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。 阅读全文

posted @ 2011-05-20 01:29 鹰之歌 阅读(162) 评论(0) 推荐(0) 编辑

对程序员职业的一些建议

摘要: 转自陈皓博客http://coolshell.cn/articles/4561.html自从四年前被CSDN采访后(“职业规化就像软件工程”),经常会有网友(尤其是刚毕业的)写邮件来问我一些程序员职业生涯的一些问题,至到今天。比如,国企还是外企的选择,一直编程有没有前途等等问题。面对这样的邮件,我感到有很大的压力,因为如果我的回复很有可能会误人一生,但我另一方面又很想帮助这些人。所以,我基本上还是会尝试回一下这样的邮件。昨天,我又回了一封。但是我心里还是有点忐忑不安。害怕说错了什么。今天,我想把我的一些思路和建议写在这里,一方面供大家参考,另一方面也想听听大家对我的评判,这样不但对更多的人有帮 阅读全文

posted @ 2011-05-20 01:21 鹰之歌 阅读(124) 评论(0) 推荐(0) 编辑

2011年5月19日 #

五个方法成为更好的程序员

摘要: 酷壳: http://CoolShell.cn/ 原文: http://coolshell.cn/?p=2606 对我来说,一个好的程序员应该是努力去追求尽可能无错的高质量的符合需求的代码实现。 一些人也许认为好的程序员是那些懂得多门编程语言,懂得很牛技术的程序员,是的,这在某些情况下是对的。但归根到底,无论你用什么样的技术,什么样的语言,所有的程序被写出来,其功能都要符合需求以及尽可能地健壮无错和高质量。 我们可以想像一下,如果一个能力普通的程序员有足够多的时间来做测试,那么,其也可以保证他的代码的质量。所以,有一种观点这样认为——要达到质量高的代码只需要有足够多的时间来做测试。这对于以结果 阅读全文

posted @ 2011-05-19 23:55 鹰之歌 阅读(145) 评论(0) 推荐(0) 编辑

最强软件工程师笔试题及其参考答案

摘要: 原文见:http://www.oschina.net/bbs/thread/18013一,选择题(皆为单选):1,以下谁是二进制思想的最早提出者?a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。答案:A解释:伏羲,中华民族人文始祖,是我国古籍中记载的最早的王。伏羲为人类文明进步做出的具大贡献是始画八卦。八卦可以推演出许多事物的变化,预卜事物的发展。八卦是人类文明的瑰宝,是宇宙间的一个高级“信息库”。早在十七世纪,德国大数学家莱布尼兹创立“中国学院”,研究八卦,并根据八卦的“两仪,四象,八卦,十六,三十二,六十四卦”,发明了二进位记数和当地欧洲先进的计算机。八卦中包含的“二进法”,现在广泛地应用于 阅读全文

posted @ 2011-05-19 17:36 鹰之歌 阅读(2037) 评论(0) 推荐(0) 编辑

火烧赤壁的故事

摘要: 来源:《程序员面试宝典》 话说曹操听了别人的计策,把800艘战船用铁链首位相接(两船间稍有空隙)连成一条龙,准备攻打东吴。每个船上顺序排列有5个位子,非别坐着船长、舵手、枪兵、弓兵 、刀兵,每个船及座位编号规律为boat1-boat800,1-5,其中boat1-boat800代表本船在船队中的序号,1-5代表本船上的位子。周瑜说:“把所有位子的人员按顺序逐个消灭。”诸葛亮说:“公瑾此言差矣,我用火攻,&a+1的方法岂不是比逐个遍历a[]更快捷?即所谓倾巢之下,安有完卵?”周瑜听后道:“既生瑜,何生亮?” 阅读全文

posted @ 2011-05-19 17:29 鹰之歌 阅读(497) 评论(0) 推荐(0) 编辑

2011年4月20日 #

振作

摘要: 这段时间由于感情上的事情,变的消沉懒散。像以前一样陷入了迷茫之中。不能这样了,要学的东西那么多,找到一个方向努力学吧,不要瞻前顾后。果敢一些。 阅读全文

posted @ 2011-04-20 16:33 鹰之歌 阅读(119) 评论(0) 推荐(0) 编辑

如何去掉一个文件中的注释和空行

摘要: 在linux中有很多强大的软件,这些软件基本都有相应的配置文件。配置文件是用户定制这个程序的一种方法,让程序按照自己的要求运行。一般都会有个配置文件是软件自带的,我们要作的就是在这份配置文件上进行修改。由于一些软件功能的强大,其自带的配置文件内容也很繁多,甚至起到了软件教程的作用。在初学这个软家时通读配置文件固然必要,但是掌握了之后,那么多的注释和空行就只能起到累眼睛的作用了。 我们该如何去掉这些注释和空行呢?下面我们以代理软件squid为例来说明。sudo apt-get install squid安装完aquid后,默认配置文件是/etc/squid/squid.conf。首先将其备份。. 阅读全文

posted @ 2011-04-20 01:44 鹰之歌 阅读(751) 评论(0) 推荐(0) 编辑

2011年4月18日 #

apache 重启警告解决方法

摘要: 运行 sudo /etc/init.d/apach2 restart后,提示警告信息:apache2:Could not reliably determine the server's fully qualified domain name,using 127.0.1.1 for ServerName...waiting apache2:Could not reliably determine the server's qualified domain nama ,using 127.0.1.1 for ServerName解决办法:sudo vi /etc/apache2/s 阅读全文

posted @ 2011-04-18 11:55 鹰之歌 阅读(199) 评论(0) 推荐(0) 编辑

2011年4月17日 #

vmware中如何切换tty

摘要: 由于在vmware中alt+control是用来释放鼠标的,所以当用alt+contrl+Fn来切换tty时,由于按键设置冲突,无法正确切换tty。解决方法是alt+control+space,松开space后再点Fn,即可正常切换。 阅读全文

posted @ 2011-04-17 15:08 鹰之歌 阅读(913) 评论(0) 推荐(1) 编辑

ubuntu下一次愚蠢的修改用户名操作记录

摘要: 刚安装玩了ubuntu,按照以往管理,安装过程中用户名注册为strider,安装过程一切照旧,无话。然而,在安装完,登陆系统,进入shell后,发现命令提示符有些怪异,定睛一看,原来由于自己的低级失误,在安装过程中注册管理员时将strider错写为strder.本来可以将就用的,但是看着还是不爽,当然要改过来。下面就是错误过程的实录。 初学linux时就知道,/etc/passwd文件存放着ID与账号的对应关系。我寻思,我仅仅是改一个账号而已,对应的ID号和密码都不变,直接修改/etc/passwd中strder一项中的strder为strider不是就可以了么。好了,开始整:sudo /et 阅读全文

posted @ 2011-04-17 04:44 鹰之歌 阅读(2962) 评论(2) 推荐(0) 编辑

2011年4月8日 #

搬家到cnblog

摘要: 以前在ednchina上开博,鉴于自己学习的方向更多的偏向软件,与电子设计渐行渐远,而cnblog的blog让我很满意,故安新家于此。希望记录自己的点点滴滴。 阅读全文

posted @ 2011-04-08 12:58 鹰之歌 阅读(183) 评论(0) 推荐(0) 编辑

电话号码对应英语单词

摘要: 来源:《编程之美-----微软技术面试心得》要求:根据一串数字输出对应在手机键盘上的相应所有字符。#include<stdio.h>#include<stdlib.h>//KeyBoard二维数组记录每个数字键对应的字符集char KeyBoard[10][10]={ "",//0 "",//1 "ABC",//2 "DEF",//3 "GHI",//4 "JKL",//5 "MNO",//6 "PQRS",// 阅读全文

posted @ 2011-04-08 11:59 鹰之歌 阅读(970) 评论(0) 推荐(0) 编辑