- 博客(50)
- 收藏
- 关注
原创 最小c编译器
最小c编译器(来源(最好在linux下操作))代码有好几个版本,我选择otccelfn.c。 /* Obfuscated Tiny C Compiler with ELF output Copyright (C) 2001-2003 Fabrice Bellard This software is provided 'as-is', without any...
2011-11-08 14:09:17
727
原创 the development of c language(转)
c语言之父Dennis Ritchie写的关于c语言开发历史的文章,来自这里lisp专家Richard P.Gabriel 的《the Rise of Worse is Better》(wikipedia入口,c2入口,《Worse is Better》,《软件开发宗旨》)中也提到c语言和unix设计的一些思想。 The Development of t...
2011-11-08 09:25:32
1452
原创 C语言,你真的弄懂了么?
程序(来源): #include <stdio.h>int main(void) { int x[4]; printf("%p\n", (void*) (x)); printf("%p\n", (void*) (x + 1)); printf("%p\n", (void*) (&x)); printf("%p...
2011-11-07 12:42:12
227
原创 小型elf "Hello,World"程序
参考链接:http://timelessname.com/elfbin/ 环境要求:linux gcc nasm hexcurse(用来修改elf文件内容) 先尝试用C语言写"Hello,World"程序(名为chello.c): #include <stdio.h>int main(void){ printf("Hello,World\n")...
2011-11-06 23:59:11
329
原创 elf文件格式实例解析
试验环境:archlinux 速龙3000+(即x86兼容32位处理器)必须软件:gcc binutils参考资料:System V application binary interfaceELF Format(mirror txt format)Hello,world in less than 20 bytesTutorial on creati...
2011-11-05 23:00:41
710
原创 高质量的c源代码
现在自由软件及开源软件越来越流行,有大量的附带源程序的软件可以使用,这给我们学习软件开发提供了更多方便。但另一方面,也使得找到高质量的软件越来越不易。Landon Curt Noll 推荐阅读David Ingalls Bell的源代码。fefe网站很推崇D.J.Bernstein的源代码(他的qmail软件被很多人认为是一件杰作)。我也要向他们学习。...
2011-11-03 10:18:26
161
原创 丘处机《摄生消息论》(转)
来源:http://www.qiuchuji.org/?type=showtopic&id=11遗憾的是没有找到好的翻译版本,并且文中好像有些错别字,没有原文也没法对照修改。 春季摄生消息春三月,此谓发陈,天地俱生,万物以荣。夜臥早起,广步于庭,被发缓行,以使志生。生而勿杀,与而勿夺,赏而勿罚,此养气之应,养生之道也。逆之则伤肝。肝木味酸,木能胜土,土属脾,...
2011-10-25 12:13:09
720
原创 身体健康小窍门
身体健康对于每个人来说都是第一重要的,找到的一些健康小窍门,可能有帮助: 1)单鼻呼吸(来源):中午以前最好常练习用左鼻子呼吸,没事的时候你就用手很自然的托住右边面颊,拿食指不着痕迹地堵住右鼻孔。过了中午,反过来多用右鼻子呼吸 2)叩天钟和鸣天鼓(来源):叩天钟”,也就是叩齿,是古代盛行的一种养生术。民谚“朝暮叩齿三百六,...
2011-10-15 09:48:25
149
原创 math for programmers(转载)
英文内容,来自http://steve-yegge.blogspot.com/2006/03/math-for-programmers.html翻译版见这里相关内容见c2.com 原文内容如下: I've been working for the past 15 months on repairing my rusty math skills, ever...
2011-10-04 23:26:13
878
原创 图灵奖演讲稿
刚刚读温伯格的《理解专业程序员》,书中提到Floyd图灵奖演讲中关于编程范式(programming paradigm)(also see here)的演讲稿值得每个与编程有关的人一读,所以搜索了一些图灵奖相关的一些网络资源。 图灵奖主页部分图灵奖演讲稿 其他资源:如何做研究...
2011-10-04 19:13:49
535
原创 英语电视节目网站
最近想练习一下英语听力,看到了一个网站,感觉好像还不错,播放比较流畅,语速相对来说比较慢,发音比较清晰。 链接:CSPAN 还有更多网站见:Broadband-Television BON CNC 英文在线广播:US live radio live365...
2011-10-03 10:14:31
297
原创 fltk 库
fltk是一个小型、开源、支持OpenGL、跨平台(windows,linux,mac OSX)的GUI库,它兼容xforms图形库(unix/linux下的一个C语言图形库),所以可以用来开发模块化的程序,同时也可以使用面向对象开发程序,使用起来非常方便。另外,由于fltk使用cmake,所以可以方便的使用cmake生成makefile,然后再进行编译,使得编译库也非常方便。例如,我...
2011-09-26 19:47:49
586
原创 《Introduction to Computing Systems: From bits and gates to C and beyond》
很好的一本计算机的入门书,被很多学校采纳作为教材,作者Yale N. Patt是计算机界的泰斗。中文版名为《计算机系统概论》(译者:梁阿磊 , 蒋兴昌, 林凌) 书籍首页(旧版首页)LC-3相关工具LC-3Help采用该教材的一些课程网站:wisc utexas upenn ucsc illinios...
2011-09-25 23:33:39
2516
原创 教育编程语言(转)
这是wikipedia上的内容,转载保存,以便以后查阅,英文版见Educational programming language主要是介绍了一些适合于教育的编程语言,分别适合于不同的个人需求。 详细内容如下: 许多教育性质的程序设计语言都提供建议的学习顺序,即是学习一组编程语言的顺序,每种语言都建立在其他语言的基础上,使得学生能够完成从简单又易于理解的娱乐性编程环境到专业开...
2011-09-25 09:28:29
607
原创 csapp bufbomb实验
csapp(《深入理解计算机系统》)一书中有一个关于缓冲区溢出的实验,其程序代码如下:/* Bomb program that is solved using a buffer overflow attack */#include <stdio.h>#include <stdlib.h>#include <ctype.h>#inclu...
2011-09-16 14:21:48
751
原创 the blocks problem(uva 101 or poj 1208)
题目描述见:uva 101 or poj 1208关键在于彻底理解题目中搬积木的几个命令的含义,见具体分析如果还不能理解题意,那么找一个正确通过的代码,编译并输入测试数据,查看其每一个命令的执行情况。如我的代码中162行注释内容取消后即可显示每一步执行后当前积木的情况)这个题目似乎没有合适的数据结构,由于插入删除操作较多,所以直接用了链表,并且使用双重指针,差点把自己搞晕。...
2011-09-11 20:57:03
193
原创 forth编程语言
forth是一种基于栈的程序设计语言,其语法使用逆波兰表达式(即后缀表达式),forth的黄金期是上世纪80年代,现在使用的人很少,但是却非常的有趣。还有一个以forth为基础开发的语言factor,它增加了许多当代的编程语言特征。 相关网站: forth interest group (compilers,tutorials, forth standard)...
2011-09-11 10:06:56
955
原创 部分排序算法c语言实现
代码比较粗糙,主要是用于对排序算法的理解,因而忽略了边界和容错处理相关代码。 相关文档:Insert Sort ,Bubble Sort ,Select Sort ,Shell sort,Quick sort,Heap sort,Merge sort on Wikipediaalgorithm Repository :C语言实现部分排序算法,代...
2011-09-02 14:51:51
371
原创 编译器开发相关资源
开发编译器相关的一些网络资源:how difficult is it to write a compiler?wikipedia compilercompiler 101 code competetionpl/0 (couses,source code,another source code)and pl/I language ...
2011-08-31 08:40:50
182
原创 zoj 1025 Wooden Sticks
题目见:zoj 1025先对木棒按照长度进行排序,然后再计算对应重量构成的数组中非递减子序列的个数。相关代码(悲催的是该代码不能在poj1065和hdoj1051 下通过,懒得看具体是什么原因了)/* zoj 1025 Wooden sticks */#include <stdio.h>#include <stdlib.h>#include ...
2011-07-23 20:25:38
127
原创 zoj 1088 System Overload
约瑟夫环(josephus problem)问题,有公式可以直接套用 我使用暴力破解方法求解(用时3秒多)。 代码如下:/* zoj 1088 System Overload */#include <stdio.h>#include <string.h>#define MAXBUILDING 150int minSt...
2011-07-23 17:30:16
97
原创 zoj 1091 Knight Moves
题目见zoj 1091 使用宽度搜索优先来求解,这个算法已经忘记的差不多了,所以写出来的代码很罗嗦,看起来很不清晰。 好像还可以直接用公式或者神经网络算法求解,详见Knight's Tour /* zoj 1091 Knight Moves */#include <stdio.h>#include <string.h>#defin...
2011-07-23 09:05:53
154
原创 zoj 1078 palindrom numbers
题目见zoj 1078 主要是判断一个整数在基数为2-16之间的某个数字时是否为回文,我是直接该整数转换成对应基数的表示的逆序列,并计算出该表示下的值,判断是否等于这个整数值,如果相等,那么就是回文,如果不相等就不是。 /* zoj 1078 Palindrom Numbers */#include <stdio.h>#define MAX 30i...
2011-07-22 19:31:41
149
原创 zoj 1006 do the untwist
题目见zoj 1006 或poj 1317 简单的解密算法,直接套用题目中公式即可。 /* zoj 1006 Do the Untwist */#include <stdio.h>#include <string.h>#define MAXLEN 80#define MAGICNUM 28char num2Char(int ...
2011-07-22 13:24:26
135
原创 zoj 3488 conic section
题目见zoj 3488很简单的题目,却没能一次搞定,因为没看清楚题目中输入数据都是实数。该题目考察浮点数的比较(因为浮点数在计算机中存储是近似存储,所以不能直接将两个浮点数直接用大于或小于符号相比较) /* zoj 3488 conic section */#include <stdio.h>#include <math.h>#de...
2011-07-22 12:23:47
126
原创 zoj 1005 jugs
题目内容见zoj1005 由于A,B互素且A的容量小于B,那么可以将B装满并且倒入A中,如果A被装满则将A中的内容全部清空,一直进行下去直到某一刻B中容量恰好等于目标的容量。这种方法能得到正确的结果,但是通常得不到最优结果。 #include <stdio.h>int main(void){ int a,b,target,i; int cu...
2011-07-22 11:43:05
123
原创 zoj 1074 To the MAX
见zoj 1074参考了别人的思路才搞定。见http://blog.youkuaiyun.com/acm_davidcn/article/details/5834454使用了最大连续子序列和的算法,虽然自己也知道这个算法,但是却没办法做到活学活用。/* zoj 1074 To the Max */#include <stdio.h>#include <strin...
2011-07-21 18:06:45
119
原创 zoj 1154 Niven numbers
见zoj 1154 还是需要将输入数据当作字符串来处理,不能直接使用整型。 /* zoj 1154 Niven numbers */#include <stdio.h>#define MAX 100int isNivenNum(int base, char str[]);int main(void){ int totalBlocks;...
2011-07-21 14:57:41
166
原创 hdoj 1015 Safecracker
见hdoj 1015 或 zoj 1403 或tzu 1308 我使用了枚举法,代码写的很罗嗦,可能还是深度优先搜索写起来更清晰。/* hdoj 1015 */#include <stdio.h>#include <string.h>#define MAX (12+5)#define RESLEN 5int bubSort(...
2011-07-21 13:47:01
113
原创 hdoj 1013 Digital Roots
链接:zoj 1115 或 hdoj 1013 或poj 1519虽说是水题,却几经波折才搞定。该题目中的数字可能非常大,所以不能使用整型数,只能采用字符变量代码如下:#include <stdio.h>int digitalRoot(int n);int digitSum(int n);int main(void){ char...
2011-07-20 17:15:34
108
原创 Run Length Encoding
游程编码(Run Length Encoding) 是一种简单的编码方法,通常用于控制论中对二值图像编码。ACM有一道题目就是关于该编码。见tzu 1149 或poj 1782 。虽然是简单题,我却花了好大功夫才搞定,功力还是不足阿。程序代码如下:#include <stdio.h>#define MAX 1024int printStr(cha...
2011-07-18 18:05:38
257
原创 关联数组(associative array)
关联数组(associative array)是一种常用的抽象数据类型。它有很多别名,例如associative container, map, mapping, dictionary, finite map, table,index等。它的特点是由一个关键字和其他各种属性组成的集合。典型的操作包括插入,删除和查找等。而用于描述关联数组最常用的是哈希表(has...
2011-07-16 12:10:27
1652
原创 生命游戏(game of life)
生命游戏(game of life)是一款非常著名的游戏。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。规定当相邻方格的细胞有两个为生时这个细胞的状态不变,有三个...
2011-07-15 12:52:21
351
原创 nethack
nethack是一款开源游戏,不支持声音和华丽的图像,却被称为最好玩的游戏之一。 相关链接: nethack主页 nethack下载地址 nethack wiki nethack贴吧 beginner's guide to nethack sources 其他一些有趣的链接: games in c with source co...
2011-07-13 21:06:06
268
原创 turbo c相关文档
无意中在网上找到的turbo c 2.0相关文档,有reference guide 和user guide.下载地址见(镜像一,镜像二,镜像三,镜像四)。这些网站还有很多其他各类软件相关文档,感兴趣的可以自己看看。另外,还找到了一个borland c++ dos reference(见附件相关内容,其中一章内容是关于bgi库,borland c++ programmer's...
2011-07-12 12:36:47
157
原创 一些c语言图形库
想编程绘制一些简单的图形,有不少的图形库可以选择:(1)BGI图形库:即turbo c所带的图形库。misaki 在vc(vc6,vc2008,vc2010等)下重写了该库,名为EGE。另一个类似的vc(vc6,vc2008,vc2010)下的库名为easyX 。mingw下(也可用于vc2005和vc2008下)移植版本名为WinBGIm(下载地址,头文件302行in...
2011-07-10 20:12:31
8594
原创 sicp
sicp (structure and interpretion of computer programs ,编号为6.001 )是麻省理工学院的一门经典计算机入门课程,虽然近年被另外一门课程所取代(6.00 或6.01 ),但最近好像有复活 的迹象。Perter Norvig 写了关于sicp的书评《It's the best!It's the worst! why...
2011-06-20 23:19:21
285
原创 安装codeblocks和wxwidgets及opencv
codeblocks是一款开放源代码的跨平台的c/c++集成开发环境,它是用wxwidgets开发的,并且支持插件,功能很强大。可以用来在windows开发各种程序。下面记录一下我安装该软件的过程: 首先到http://www.codeblocks.org/downloads下载该软件,选择含mingw的文件(codeblocks-10.05ming...
2011-06-15 14:17:04
292
原创 适合初学编程的一些项目
学习了一门语言以及数据结构之后,通常需要做一些项目来巩固所学的知识,我感觉最好是用写一些简单的小工具或者小游戏,能够提高自己的编程能力,也能进一步提高自己学习的兴趣。最好的是将自己想做的事情用程序的实现,比如写个小计算器等等。如果缺乏这方面的思路,可以参看下面的一些想法:(1)一些编程方面的小挑战或教程:Programming tasks and challenges ...
2011-06-10 10:04:37
560
原创 haskell程序设计语言
根据[url=http://www.haskell.org/haskellwiki/Haskell]haskell[/url]的[url=http://www.haskell.org/haskellwiki/Introduction]官方定义[/url],haskell是polymorphically(多态) statically typed静态类型), lazy(懒计算), purely fun...
2011-06-08 13:11:54
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人