
编程基础
fmddlmyy
伐木丁丁鸟鸣嘤嘤
展开
-
谈谈编程(1) 编程概述
编程术可以看作实用魔法的一个分支。编程魔法师用时间和精力做祭品,与生活在计算机中的精灵订立契约,以换取驾驭代码的能力。 ---fmddlmyy 要提高编程水平,唯有多看多写。这篇文章看似经验之谈,实质还是灌水。本次灌水,拟定了以下几个主题: 编程概述软件开发中的方法论编程实践嵌入式编程的特点编程概述本文将从不同角度讨论“什么是编程”,或者“什么是编程的本质问题”。这原创 2005-09-26 19:41:00 · 2269 阅读 · 1 评论 -
浮点数的表示和精度
如果a>0,那么1+a一定大于1吗?在数学上,答案是肯定的。但在计算机上,答案就与a的大小和浮点数的精度有关了。在matalb上,可以作以下计算:>> a=1/2^52a = 2.220446049250313e-016>> 1+a>1ans = 1>> a=1/2^53a = 1.110223024625157e-016>>原创 2009-03-25 23:11:00 · 2668 阅读 · 0 评论 -
VC调试:两个有个性的bug
昨天在用VC调试cnbook时碰到两个有个性的bug:bug1仅在直接运行Release版本时出现,用F5运行Debug版本或Release版本都不会出现。 bug2仅在用F5运行Debug版本时出现,直接运行Release版本不会出现。 1 bug1和Release版本调试这个bug不能用调试器。我用加打印的方式调试。对于GUI程序,将打印输出送到另一个窗口就可以原创 2008-11-23 12:14:00 · 1352 阅读 · 0 评论 -
几个文本处理的小题目(续一):使用awk
在飞机上用《sed与awk》消磨时间时,想起网友以前提过的一个问题:1 按指定列的长度排序1.1 问题这个网友有以下格式的词库(in.txt):w=我 bm=标 ceq=陈 wm=我们 nnyl=努 wm,=我们 djh=大家好 tdmd=他们 tzm=同志们 tzm,=同志们 djhnv=大家好 ppaa=平平安安 tzmdv=同志们原创 2008-11-04 23:57:00 · 3125 阅读 · 11 评论 -
几个文本处理的小题目
在北大中文论坛的中文信息处理版有时会看到一些与文本处理有关的问题。想想怎么解答这些问题,其实也挺有意思,有点像解谜游戏。例如今天看到的一个问题:1 找重码1.1 问题怎么找出码表中的重码?假设有码表test.txt:甲 AB雅 AB弟 AC大 AD发 BC收 BC回 BC收 CE名 CE其中有的汉字有相同的编码原创 2008-11-01 19:02:00 · 2270 阅读 · 3 评论 -
眼见为实(1):C++基本概念在编译器中的实现
眼见为实(1):C++基本概念在编译器中的实现对于C++对象模型,相信很多程序员都耳熟能详。 本文试图通过一个简单的例子演示一些C++基本概念在编译器中的实现,以期达到眼见为实的效果。 本文的演示程序(http://www.fmddlmyy.cn/cpptest.zip)可以从我的个人主页下载。程序包中包含用VC6、VC7、BCB、Dev-C++和MinGW建立的项目。下文中的打印输出和汇原创 2007-02-14 21:07:00 · 6104 阅读 · 2 评论 -
谈谈编程(3) 编程实践
谈谈编程(3) 编程实践鸠集遗失,鉴玩整理,昼夜精勤,每获一卷,遇一画,毕孜孜葺缀,竟日宝玩,可致者必货敝衣, 减粮食。妻子童仆切切嗤笑,或曰:终日为无益之事何补哉。既而叹曰:若复不为无益之事,则安能悦有涯之生。 --- 唐 张彦远 《历代名画记》 1 编程的要素编程有3个要素:语言、环境和思想。 1.1 语言有人喜欢争论语言的优劣。其实,除了汇编语言,各种语言、脚本、标准库、原创 2005-09-26 19:45:00 · 2311 阅读 · 1 评论 -
谈谈编程(2) 软件开发中的方法论
1 项目管理的方法论1.1 方法论方法论的英文为Methodology,编程的方法论应该是指软件开发的一整套方法、过程、规则、实践、技术。不过我们一般提到的方法论都偏重于项目、过程和人员的管理。 《Agile Software Development》的作者Alistair Cockburn提出方法论具有以下要素:角色、个性、技能、团队、技术、活动、过程、产品、里程碑、标准、质量、工具原创 2005-09-26 19:44:00 · 2856 阅读 · 1 评论