- 博客(43)
- 资源 (5)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于条件编译和预编译的一点学习心得
项目经验丰富的朋友可能知道,要想让软件可移植性好,代码里面少不了很多的条件编译语句。我最近在移植一个模块时发现了一个我以前不是很懂的东西,那就是条件编译。以前只是知道有这么回事,但具体的细节全然不知。但是每当遇到一个问题,我都会追究到底,不会解决了就放下了。我想这应该是作为一个程序基本的素质吧!下面我简单分享一下我的理解,有不足和遗漏之处,希望大家指正! 1、条件编译
2013-03-28 00:10:08
5221
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 程序猿的意义--纪念那些曾经辉煌过和即将辉煌的程序猿
不知不觉工作已快有一年,在这一年的程序员生涯里,有过代码带来的快乐,也有过代码带来的痛思。有过坚定,也有过怀疑。不管怎样,这一年来,自己应该是成长了不少。技术上虽然仍然是个菜鸟级别,但比起刚出校园时,还是有比较大的改变。特别是心态上,曾经一度追寻佛学禅理和心理学的我,现在境界又高升了一层。希望在有生之年能见到佛主一面!哈哈。。。 这个博客是去年七月份开的,当时热血沸腾,一心只想把排
2013-03-26 23:50:50
1151
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ipv6学习之旅--组播侦听发现协议(MLD)
组播侦听发现协议是ipv6才有的协议,他的原理是当源主机发送一份数据到一个组播地址,所有加入了这个组播地址的成员都可以收到一份数据的拷贝。并且只有组播成员才可以接收到数据。路由器通过MLD协议,可以了解自己的直连网段上是否有IPv6组播组的侦听者,并在数据库里做相应记录。同时,路由器还维护与这些IPv6组播地址相关的定时器信息。优点:相对单播来说,如果一份数据要发送到多个主机,单播必须发送
2012-08-19 23:26:19
19914
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 读王垠的“清华梦的粉碎”有感
无意之中转载了一篇王垠的“王垠:如何掌握程序语言”。恰好有人看了评论了一句:“清华大学退学博士王垠?”于是百度了一下王垠这个人,在百度百科里看完了他写的“清华梦的粉碎”。看了很久,不仅是因为我看文章速度慢,也是我一边看他写的经历,一边在回忆自己的过去。我也有过一整天观看蚂蚁,逗蚂蚁的经历;也曾有过他那种当科学家的梦。觉得科学家是很酷很伟大的,可以为人类进步做出很大的贡献;曾经也有过清华梦,也很鄙视
2012-08-19 00:55:25
16622
9
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 vim单词高亮功能的添加和用法
不经意在网上看到了vim也有单词高亮的功能,高亮功能对于看源程序很有帮助,于是在linux下做了实验,真的可以,VIM真是太NB了。下面是vim高亮功能的添加具体过程,有兴趣的可以一起来玩玩啊!1、下载脚本文件http://www.vim.org/scripts/script.php?script_id=1238去上面的网站中下载一个mark.vim的脚本文件,因为vim的很多功能都是
2012-08-17 15:58:58
8925
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--快速排序之会场安排问题
快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。步骤为:从数列中挑出一个元素,称为 "基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递
2012-08-08 00:37:30
1716
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--深度优先搜索(DFS)之滑雪问题
DFS是图的遍历的一种算法,是搜索算法的一种。拿图的深度优先搜索来说,深度优先搜索是从图中某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻居节点出发,深度优先遍历图。直到图中所有和v有路径相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起点,重复上述过程,直到图中所有顶点都被访问到为止。显然,这是一个递归的过程,为了在遍历过程中便于区分顶点是否已被访问,需要
2012-08-05 23:41:30
2726
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 浅谈结构体及linux下内存分配原则
结构体在程序中的应用是很广泛的,要处理的问题越复杂,数据量越多越杂,就越需要用到结构体。比如网络,内核,驱动等等。熟练使用结构体对每个程序员都是至关重要的。一个好的结构体不仅能使程序体系结构清晰,而且使得操作灵活,可扩展性强。linux网络之所以很强大,这和它里设计合理的数据结构有很大关系。结构体定义:struct a{ int xx:4; int yy:4;};结构体初
2012-08-03 14:14:07
1025
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 VMware虚拟机中双网卡连接双物理网卡的实现
VMware虚拟机中双网卡连接双物理网卡的实现1、虚拟双网卡与物理双网卡的连接点击VMware的“编辑”栏下“虚拟网络设置”,在打开的“虚拟网络编辑器”界面选择“主机虚拟网络映射”,选择非程序默认使用的虚拟网卡,本例中我选用了VMnet2和VMnet9,分别将其对应你的物理网卡,“确定”退出。(如果之前你的VMnet0已经选择了一个物理网卡,在这要将它清掉,改选为host-only,不然会
2012-08-03 09:29:12
6525
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--一种排序
时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽
2012-08-03 01:01:10
1919
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--街区最短路径问题的二种解法
时间限制:3000 ms | 内存限制:65535 KB难度:4描述 一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求
2012-08-02 01:00:47
5911
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--喷水装置(一)
时间限制:3000 ms | 内存限制:65535 KB难度:3描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0输入第一行m表示有m组测试数据每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆
2012-07-31 16:40:39
1798
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--十进制转任意进制
这个不是在线的ACM题,是我自己想的。用到了栈的操作。能将十进制转换成64进制内的任何进制数。程序里面用大小写英文字母加‘#’和‘*’号表示了从10到63的数字。具体见程序。首先是栈的相关函数实现,文件为:stack.c#include #include #include #define STACK_INIT_SIZE 100#define STACKINCREMENT 10
2012-07-31 16:21:19
974
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--Binary String Matching
时间限制:3000 ms | 内存限制:65535 KB难度:3描述Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For
2012-07-31 15:37:27
1091
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 开开心心学算法--ASCII码排序
描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入3qweasdzxc样例输出e q wa d sc x z
2012-07-31 15:29:41
1652
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我是一名程序员----关于IT行业的一些想法
我是一名程序员,每天在电脑面前工作十几个小时,不知道是因为喜欢还是刚毕业年轻气盛,就算坐到再晚,都感觉不到累。现在心里没想很多,就是抱着只要奋斗就能拨开眼前的云雾,让前途一片光明的信念在奋斗。我知道我可能生活在自己幻想的世界里。但是我认为只要在坐自己喜欢的事情,以后就不会后悔。这一路上,听过很多前辈们的故事,有说当程序员没前途,跟个民工一样。也有说IT行业前景好,发展空间大。虽然我觉得他们都说
2012-07-31 01:26:21
2460
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 深入学习算法的一点拙见
今天实在是头脑不听使唤了,没力气看书,写代码了。写点总结吧。都说算法是内功,究竟练到什么程度才算修成了呢? 为什么要学习,强化算法?首先强调的是,下面的原因均是建立在算法熟练到一定程度后的效果。不熟的话,未见得能达到效果。这些原因很现实。但很多程序员却不知道或不以为然。比较世俗的方面,顶级软件公司笔试,面试会问到。别说你不想去谷歌,百度,微软,如果真的没想过,我希望你能
2012-07-29 22:57:54
1572
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 括号配对问题--一道ACM在线测试题(补充)
刚才之所以说简直弱爆了。。。是因为那个系统的测试做的实在是不怎么样!大家可以看看下面这个程序,C++的,同样可以通过。但是如果你输入()()(或者[][][的时候,它是不会有输出的。大家可以试试。下面我将代码贴出来:#include using namespace std;#include int main(){char ch[10000],s[5000];int n,
2012-07-28 01:13:54
1724
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 括号配对问题--一道ACM在线测试题
今天在南阳理工学院的在线ACM测试上做了一道题,简直弱爆了。。。请看原题:描述 现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes 我的解:#include
2012-07-28 01:04:27
9783
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 IPV6学习之旅-ICMPV6----2
昨天大概介绍了一下IPV6,主要包括IPV6地址表示,地址类别,相关协议和技术。今天的重点是ICMPv6,之所以要先讲ICMPv6是因为它是其他技术(如邻居发现协议)的基础,没有它,其他都是浮云。 ICMPv6是控制报文,它的作用是在网络传输中发现并报告错误、传送有控制信息性质的消息。如前所说,他是邻居发现协议和组播侦听者发现协议的基础。报文类型错误报文其报头的类型字段高八位
2012-07-26 21:47:01
6659
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 IPV6学习之旅----1
学习IPV6有一段时间了,在接触网络协议之前,总觉得协议这东西不是一般人能搞的。但是学习了IPV6三个星期后,感觉协议也没以前想象的那么可怕。现在我大概总结一下这三个星期来的所学所想。IPV6基础知识IPV6地址表示 地址长度128bits用十六进制表示,如: FE08:….4位十六进制数(16bits)为一组,中间用“:”隔开,如: 2001:12FC:….若以零开头
2012-07-25 19:35:45
5102
转载 深入解析序列点
int i = 3;i = i++; cout 结果是什么?有人可能会说是3,也有人可能会说是4,更多的人在骂出题的人白痴,但这语句究竟有何问题呢?未必每个人都清楚。 有些人也许马上会说,这是“未定义行为”。没错,这是一个典型的未定义行为。i = i++这个表达式合乎C++语法,能够顺利编译通过,但是执行的结果,标准说“未定义”。为什么是“未定义”,深究起来,要从序列
2012-10-15 23:43:52
513
转载 从程序员到技术领导者
偶然看到这一文章,给大家分享一下,李明老师说过一句话,选择大于努力,当然是选择了仍然要努力,马上要成为一个程序员了,路还很长,文章不错,值得已阅!1.入行你为什么要当程序员?每当我问起很多人入行的人,回答各不相同。有很多人是因为喜欢。谁说过:热爱是最好的老师。当然,关键是热爱是否能支撑自己把爱好做成一份职业。但不论做多久,因为热爱或曾经热爱,这个理由就足够了。你不能希望撒一粒种子,都变
2012-09-25 12:44:42
836
转载 C语言输入输出缓冲区
scanf这个库函数比较奇怪,而且存在一定的缺陷,所以很多人都不用了,这里还是要简单介绍一下.scanf输入字符串,整型,实型等数据判断的方式都一样,回车,空格,tab键都认为是一个数据的结束,当然字符的话,一个字符就是结束了,回车,空格等都有对应的ascii码,所以用scanf输入字符时要小心这些东东被当成字符输进去,而输入字符串和整型,实型等数据时这些都被当成分隔符而不会被输入到字符数
2012-09-21 00:03:41
915
转载 国际C语言乱码大赛(IOCCC)经典之作
原文出处:http://suguiyang.blog.51cto.com/1035725/424460,作者:su_guiyang作者声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://suguiyang.blog.51cto.com/1035725/424460你也许听说过“国际C 语言乱码大赛(IO
2012-09-17 23:43:16
1223
转载 linux下c语言嵌入汇编
Using Assembly Language in Linux.Intel和AT&T汇编语法差异:1。前缀:Intel汇编寄存器和立即数无需前缀。后者寄存器前缀为%,立即数前缀为$。eg: Intex Syntax mov eax,1 mov ebx,0ffh int 80h AT&T Syntax movl $1,%eax
2012-09-11 11:26:54
1069
转载 BusyBox 简化嵌入式 Linux 系统
BusyBox 是很多标准 Linux® 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少);有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。本文将探索 BusyBox 的目标,它是如何工作的,以及为什么它对于内存有限的环境
2012-08-19 23:52:22
622
转载 关于C语言的图形编程
老是被同学们问一些关于C语言初学时的图形编程问题,感觉有点代表性,这里统一做个回答。一家之言哈,欢迎拍砖。问题:1、为什么VC下找不到BGI文件?2、我按照书上写的把程序输入,编译时发现找不到graphics.h文件3、VC是不是不支持图形开发啊?4、... ...问这类问题的同学还很多,总的来说,我觉得这些同学应该属于初学C语言,对于语言、
2012-08-19 23:50:00
1712
2
转载 在嵌入式Linux系统中应用的GTK+和X分析
在嵌入式 Linux 下有很多图形界面系统 GUI,包括 Qt/Embedded,FLTK,Microwindows 和 GTK+ 等。作为一个开发者,到底使用什么样的 GUI 系统呢?对一个系统,将它改造为符合你的需求,你要做多少修改呢?修改后的系统的尺寸一般会有多大呢?这些都是开发人员会遇到的问题。我们在这里讨论的就是要对这些内容做一个具体细致的分析,通过我们的讨论,大家会对基于 GTK+ 和
2012-08-19 23:49:21
1021
转载 王垠:如何掌握程序语言
学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种稀奇古怪的语言,而且必须紧跟“潮流”,否则就怕被时代所淘汰。作为一个程序语言的研究者,我深深的知道这种心理产生的根源。程序语言里面其实有着非常简单,永恒不变的原理。看到了它们,就可以在很短的时间之内就能学会并且开始使用任何新的语言,而不是花费很多功夫去学习一
2012-08-17 16:30:01
5344
2
转载 《编程之美》读书笔记(一):中国象棋将帅问题
《编程之美》读书笔记(一):中国象棋将帅问题 作者:薛笛 EMail:jxuedi#gmail.com 千呼万唤始出来,在跳票了快一个月之后,虽然明知道书里还有不少错误没改过来(附了一整页的勘误),但是感觉已经不能等下一版了。赶快去书店买回来,吃完饭躺床上舒舒服服地看。大致翻看之后,总体感觉是书中的内容没有“脱离群众”,很多都是我们平时生活、工作中经常能遇到的。题目
2012-08-11 00:52:49
733
转载 内存对齐的初步讲解--linux和windows平台下内存分配的差异
一.内存对齐的初步讲解内存对齐可以用一句话来概括:“数据项只能存储在地址是数据项大小的整数倍的内存位置上”例如int类型占用4个字节,地址只能在0,4,8等位置上。例1:#include struct xx{ char b; int a; int c; char d;};
2012-08-10 00:56:33
2872
转载 经典算法研究系列:三、动态规划算法解微软一道面试题[第56题]
作者 July 二零一零年十二月三十一日本文参考:微软面试100题系列V0.1版第19、56题、算法导论、维基百科。 ok,咱们先来了解下什么是动态规划算法。 动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。 动态规划算法分
2012-08-09 15:20:15
2711
转载 华为boss力荐公司高层看的一篇文章,真的很经典!!![转载]
今天是 22 岁的最后一天。几个月前,我从沃顿商学院毕业,用文凭上“最高荣誉毕业”的标签安抚了已经年过半百的老妈,然后转头辞去了毕业后的第一份工作,跟一家很受尊敬的公司、还有 150 万的年薪道了别,回到了上海,加入了“刚毕业就失业”俱乐部,开始了一天三顿盒饭的新生活,中间许多精彩剧情暂时略过。 我肯定不是第一个做过这样事的人,也肯定不会是最后一个。所以在说自己的一些有趣故事前,我想借用大家(包
2012-08-09 01:52:12
813
转载 堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2012-08-07 20:01:48
459
转载 用GDB调试程序---转贴,非常全面的调试技巧
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更
2012-08-06 13:09:47
513
转载 存储大小端问题
所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数 据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻
2012-08-04 10:08:56
681
转载 利用VIM提供的正则去掉代码每行开头不想要的行号
出处:http://blog.csdn.net/mzlogin/article/details/7031400在CNBLOG看到一不错的代码片断,但奈何无论怎么拷贝,粘贴到VS里都是带行号的,300多行的代码手工删除行号与前面的空格可得耗不少时间。。。这时想起了无所不能的VIM,以及它的正则,它的替换功能。解决步骤:1.将代码贴到VIM2.替换掉每行首的所有空格及数字
2012-08-03 16:10:08
1184
转载 关于openstack项目不错的个人blog和站点 http://bbs.linuxtone.org/thread-16007-1-1.html
关于openstack项目不错的个人blog和站点http://bbs.linuxtone.org/thread-16007-1-1.html搭建过程中遇到的很多问题都是在如下站点和个人blog获得的指导和答案,现在放出来告诉大家:http://www.vpsee.com/category/cloud/ #好像是vpsee虚拟机负责人的blog,里面有一些不错的文章
2012-07-31 22:31:40
1788
转载 同是IT小小鸟——《我是一只IT小小鸟》读书笔记
本文出处:http://blog.csdn.net/guoxiaopeng_cs/article/details/7803716《我是一只IT小小鸟》1.学长学姐们用他们自己的成长故事,告诉在校的师弟师妹们:青春太宝贵,千万别浪费;要想浪费,万事早准备。2.(1)兴趣是第一原则。一定要根据自己的兴趣确定发展方向,不要盲目从众和跟风。(
2012-07-31 00:30:19
876
Multicast Listener Discovery Version 2(MLDv2) for IPv6
2012-08-02
linux ls命令的实现程序
2012-07-30
linux下ping程序源码
2012-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人