关于作者

姓名:程玮

性别:男

出生日期:1979-04-07

地区:北京-北京

联系电话:

QQ:--

婚否:未婚
用户名:平常道
笔名:平常道
地区: 北京-北京
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



联系我

我常去的地方

好友的家

友情链接

访问统计:
文章个数:13
评论个数:103
留言条数:0




Powered by BlogDriver 2.1

我的幽林小筑

 

文章

我换地方了,去blgobus了  (作者置顶)

大家可以去

ylxz.blogbus.com

访问我的Blog。

- 作者: 平常道 2005年05月26日, 星期四 06:12  回复(3) |  引用(0) 加入博采

我收集的一些电子书资源,和大家交流  (作者置顶)
摘要:我收集的一些电子书,注意:FTP的地址变了。。。 查看全文

- 作者: 平常道 2005年04月13日, 星期三 10:40  回复(94) |  引用(0) 加入博采

藏头诗:一脉炎黄兴九州【转自新浪】

新浪网友赋诗:

统一江山若有思 一脉炎黄兴九州


http://www.sina.com.cn 2005年04月26日17:08 新浪网

  2005-04-26 16:42:02 新浪网友 就 香港大公报评连战大陆行:江山有思 亦会动容发表评论 IP:218.244.241.*

     峡分隔兄弟疏,

  水伊人无尽愁。

  度连襟留青史,

  回聚首泯恩仇。

  先华厦多俊杰,

  后国人展宏图。

  一江山若有思,

  脉炎黄兴九州。

  相关专题:国民党主席

http://news.sina.com.cn/2005-04-26/17086499423.shtml

- 作者: 平常道 2005年04月27日, 星期三 10:33  回复(0) |  引用(0) 加入博采

关注国产的UML建模工具,Trufun Kant & Plato

    楚凡科技http://www.trufun.net/,创建于2004年3月。楚凡科技是中国专业的软件CASE工具厂商,致力于开发中国人自己的优秀CASE工具。 

    楚凡科技的目标是构建优秀的面向对象的可视化建模工具,给予软件开发人员在需求捕获、系统分析、设计、编码、测试、部署等所有软件开发环节强有力的支持。

Trufun--让软件开发变得更轻松!

楚凡科技目前拥有两大品牌CASE产品:

  • UML建模产品Trufun Plato。Trufun Plato 是专业的UML建模工具,全面支持OMG标准UML V1.4,是全球第一款中文UML建模工具,是微软推出.Net Framework以来全球第一款基于.Net的大型桌面应用程序,是为中国UML用户量身定做的全中文用户界面的优秀产品。
  • MDA产品Trufun Kant。Trufun Kant 是基于Trufun Plato的MDA工具,即中国第一个基于UML的模型驱动架构开发工具,也是是全球第一款中文MDA开发工具。Trufun Kant覆盖了软件开发的各个环节,使用Trufun Kant,不仅可以通过UML进行需求捕获、系统分析、系统设计,同时可以进行代码生成、编译、调试、运行、打包、部署, 以模型驱动整个软件开发,真正实现了以模型为中心的软件开发新模式。

关注楚凡科技!关注中国国产软件的未来!


     为了庆祝Trufun成立一周年暨Trufun Plato诞生一周年,Trufun特举办"回报用户Trufun产品优惠月"活动,从4/1至5/1日期间,凡Trufun注册用户,均可享受
    Plato 优惠价30元(原价300元),
    Kant 优惠价50元(原价500元)

    详见:http://www.trufun.net/

    国产建模软件,一定要支持哦!!!

  

- 作者: 平常道 2005年04月20日, 星期三 20:53  回复(1) |  引用(0) 加入博采

GNU make 的用法【转贴】

GNU make 的用法

      在大型的开发项目中,通常有几十到上百个的源文件,如果每次均手工键入 gcc 命令进行编译的话,则会非常不方便。因此,人们通常利用 make 工具来自动完成编译工作。这些工作包括:如果仅修改了某几个源文件,则只重新编译这几个源文件;如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。利用这种自动编译可大大简化开发工作,避免不必要的重新编译。实际上,make 工具通过一个称为 makefile 的文件来完成并自动维护编译工作。makefile 需要按照某种语法进行编写,其中说明了如何编译各个源文件并连接生成可执行文件,并定义了源文件之间的依赖关系。当修改了其中某个源文件时,如果其他源文件依赖于该文件,则也要重新编译所有依赖该文件的源文件。makefile 文件是许多编译器,包括 Windows NT 下的编译器维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。


默认情况下,GNU make 工具在当前工作目录中按如下顺序搜索 makefile:

* GNUmakefile

* makefile

* Makefile

在 UNIX 系统中,习惯使用 Makefile 作为 makfile 文件。如果要使用其他文件作为 makefile,则可利用类似下面的 make 命令选项指定 makefile 文件:$ make -f Makefile.debug

makefile 基本结构

makefile 中一般包含如下内容:

* 需要由 make 工具创建的项目,通常是目标文件和可执行文件。通常使用"目标(target)"一词来表示要创建的项目。

* 要创建的项目依赖于哪些文件。

* 创建每个项目时需要运行的命令。

例如,假设你现在有一个 C++ 源文件 test.C,该源文件包含有自定义的头文件 test.h,则目标文件 test.o 明确依赖于两个源文件:test.C 和 test.h。另外,你可能只希望利用 g++ 命令来生成 test.o 目标文件。这时,就可以利用如下的 makefile 来定义 test.o 的创建规则:

# This makefile just is a example.
# The following lines indicate how test.o depends
# test.C and test.h, and how to create test.o

test.o: test.C test.h
    g++ -c -g test.C

从上面的例子注意到,第一个字符为 # 的行为注释行。第一个非注释行指定 test.o 为目标,并且依赖于test.C 和 test.h 文件。随后的行指定了如何从目标所依赖的文件建立目标。当 test.C 或 test.h 文件在编译之后又被修改,则 make 工具可自动重新编译 test.o,如果在前后两次编译之间,test.C 和 test.h 均没有被修改,而且 test.o 还存在的话,就没有必要重新编译。这种依赖关系在多源文件的程序编译中尤其重要。通过这种依赖关系的定义,make 工具可避免许多不必要的编译工作。当然,利用 Shell 脚本也可以达到自动编译的效果,但是,Shell 脚本将全部编译任何源文件,包括哪些不必要重新编译的源文件,而 make 工具则可根据目标上一次编译的时间和目标所依赖的源文件的更新时间而自动判断应当编译哪个源文件。

makefile 变量

GNU 的 make 工具除提供有建立目标的基本功能之外,还有许多便于表达依赖性关系以及建立目标的命令的特色。其中之一就是变量或宏的定义能力。如果你要以相同的编译选项同时编译十几个 C 源文件,而为每个目标的编译指定冗长的编译选项的话,将是非常乏味的。但利用简单的变量定义,可避免这种乏味的工作:

# Define macros for name of compiler
CC = gcc

# Define a macr o for the CC flags
CCFLAGS = -D_DEBUG -g -m486

# A rule for building a object file
test.o: test.c test.h
    $(CC) -c $(CCFLAGS) test.c

在上面的例子中,CC 和 CCFLAGS 就是 make 的变量。GNU make 通常称之为变量,而其他 UNIX 的 make 工具称之为宏,实际是同一个东西。在 makefile 中引用变量的值时,只需变量名之前添加 $ 符号,如上面的 $(CC) 和 $(CCFLAGS)。

GNU make 的主要预定义变量

一个 makefile 文件中可定义多个目标,利用 make target 命令可指定要编译的目标,如果不指定目标,则使用第一个目标。通常,makefile 中定义有 clean 目标,可用来清除编译过程中的中间文件,例如:clean:rm -f *.o,运行 make clean 时,将执行 rm -f *.o 命令,最终删除所有编译过程中产生的所有中间文件。

GNU make 有许多预定义的变量,这些变量具有特殊的含义,可在规则中使用。表 1 给出了一些主要的预定义变量,除这些变量外,GNU make 还将所有的环境变量作为自己的预定义变量。

 表 1  GNU make 的主要预定义变量

预定义变量                      含义

$*              不包含扩展名的目标文件名称。
$+              所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。
$<              第一个依赖文件的名称。
$?              所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。
$@             目标的完整名称。
$^              所有的依赖文件,以空格分开,不包含重复的依赖文件。
$%             如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为 mytarget.so(image.o),则$@为 mytarget.so,而$%为 image.o。
AR              归档维护程序的名称,默认值为 ar。
ARFLAGS     归档维护程序的选项。
AS              汇编程序的名称,默认值为 as。
ASFLAGS     汇编程序的选项。
CC              C 编译器的名称,默认值为 cc。
CCFLAGS     C 编译器的选项。
CPP             C 预编译器的名称,默认值为 $(CC) -E。
CPPFLAGS    C 预编译的选项。
CXX            C++ 编译器的名称,默认值为 g++。
CXXFLAGS   C++ 编译器的选项。
FC              FORTRAN 编译器的名称,默认值为 f77。
FFLAGS       FORTRAN 编译器的选项。

隐含规则

GNU make 包含有一些内置的或隐含的规则,这些规则定义了如何从不同的依赖文件建立特定类型的目标。GNU make 支持两种类型的隐含规则:

* 后缀规则(Suffix Rule)。后缀规则是定义隐含规则的老风格方法。后缀规则定义了将一个具有某个后缀的文件(例如,.c 文件)转换为具有另外一种后缀的文件(例如,.o 文件)的方法。每个后缀规则以两个成对出现的后缀名定义,例如,将 .c 文件转换为 .o 文件的后缀规则可定义为:

.c.o:
$(CC) $(CCFLAGS) $(CPPFLAGS) -c -o $@ $<

* 模式规则(pattern rules)。这种规则更加通用,因为可以利用模式规则定义更加复杂的依赖性规则。模式规则看起来非常类似于正则规则,但在目标名称的前面多了一个 % 号,同时可用来定义目标和依赖文件之间的关系,例如下面的模式规则定义了如何将任意一个 X.c 文件转换为 X.o 文件:

%.c:%.o
$(CC) $(CCFLAGS) $(CPPFLAGS) -c -o $@ $<

运行 make我们知道,直接在 make 命令的后面键入目标名可建立指定的目标,如果直接运行 make,则建立第一个目标。我们还知道可以用 make -f mymakefile 这样的命令指定 make 使用特定的 makefile,而不是默认的 GNUmakefile、makefile 或 Makefile。但 GNU make 命令还有一些其他选项,表 2 给出了这些选项。

表 2  GNU make 命令的常用命令行选项

命令行选项              含义
-C DIR              在读取 makefile 之前改变到指定的目录 DIR。
-f FILE              以指定的 FILE 文件作为 makefile。
-h                    显示所有的 make 选项。
-i                     忽略所有的命令执行错误。
-I DIR               当包含其他 makefile 文件时,可利用该选项指定搜索目录。
-n                    只打印要执行的命令,但不执行这些命令。
-p                    显示 make 变量数据库和隐含规则。
-s                    在执行命令时不显示命令。
-w                    在处理 makefile 之前和之后,显示工作目录。
-W FILE            假定文件 FILE 已经被修改。

makefile 范例

- 作者: 平常道 2005年04月20日, 星期三 09:39  回复(0) |  引用(0) 加入博采

满大街跑的都是月薪上万的小程序员【转贴】
满大街跑的都是月薪上万的小程序员
作者:佚名 

     我住在海淀区,这里满大街跑的是月薪上万的小程序员儿,还有痛骂计算机专业无美女的项目经理,他们大脑袋、厚眼镜、因熬夜而布满血丝的眼睛,因不见阳光而酷似吸血鬼的脸,穿一个星期不洗的T-SHIRT,很有很有味道的,他们供楼不供车,他们翻开报纸只盯住北边的楼盘,倒不是因为关心奥运村,实在是想离公司近一些。我,衷心地喜欢着这个区。


      有女友去国贸那边应聘工作回来,一脸幸福状地向我描述,地铁站里全是帅哥,地面上更是临风玉树站成了森林,让她的小心灵经受了一次美的洗礼,她晕乎乎地回来了,对那些西装革履、散发名贵男用香水味道、气宇轩昂的白领男人们再三再四地概叹:"F4那算个啥,肚里没货,只知卖相,看看人家,啊,那才叫自信来源于知识,气质来源于财富......" 我打断她语无伦次的胡说八道,问她工作有戏没戏,她说,"凭我的英语水平,能没戏吗?!"

  过几日,女友去上班。再过几日,女友辞职。我问为个啥,她说,她是属于海淀区的好市民,与朝阳区那个高级白领集居地格格不入。

  "她们化妆都太精致,显得我象个黄脸婆,她们中午在洗手间用的是外国带回来的化妆品,我用的是外国牌子国内生产的东西,她们早餐吃意大利浓汤和甜点,我吃的是小笼包子跟豆浆......"女友愤愤地数落着,"非穿职业装不可,我的那十来条仔裤算是没有用武之地了,你看看我的可怜的脚,被高跟鞋折磨得都变形了,封建社会摧残人也不过如此了吧。靠,就这样,她们还说我搭配得不对,灰衬衫不能跟紫色外套一起穿!"

  我说,"这有什么关系,这跟一份好工作有什么关系?你啊,也太注重技术层面的问题了。" "我郁闷......"女友象迷路的孩子一样:"我还是在海淀这边找工作吧。在这儿如鱼得水,要多自在有多自在,加班也愿意,你知道吗,他们东边儿啊,真不是人待的地方!"

  我立马制止了她的人身攻击:"别瞎说!都是首都人民,哪儿来的种族歧视啊?"

  女友几乎声泪俱下地声讨:"不是我啊,是她们等级观念严重啊。你看咱们这儿,上亿身家也穿着懒汉鞋去小馆儿吃京酱肉丝儿,谁也不怵谁,你有钱那是你的事儿,我有技术是我的骄傲,可是东边儿,什么都攀比,连丝袜的牌子都比,那天我戴了我奶奶给的玉镯儿,被她们笑话了个半死,什么老土啊什么没品啊,好象她们生下来就在钻石堆里长大的,如果我稍微有个行差踏错,那就要沾污了她们的小资阵营!"

  我笑:"傻子,现在小资过时了,都兴BOBO了啦。"

  "呸!什么BOBO,以为这个周末去怀柔爬山,下个周末去音乐堂,就又波西又布尔?上班的时候照样抢单,照样勾心斗角,照样背后传谣言,不过是改成了用英语传!算了算了,我不是那林子里的鸟儿,我还是安心在海淀做技术吧,加班累得贼死也比跟人打交道好啊,大家都埋头干自己手头的活儿,人际关系淡如水,很舒服的,我爱穿什么穿什么,只要活儿做得漂亮,老板照样给加薪,我是再也不去高尚区了。"

  于是,一场散漫悠游族向精致优雅族的伟大试探,便以失败告终。

  现在,我的女友悠哉游哉地溜达在北四环路上,在中关村的古怪雕塑前吃三块钱的冰淇淋蛋筒,周末时她在北大清华之间流窜,到处寻找新锐欧洲电影放映地。

  有时候去电影学院旁边的"NASA"或者民族学院旁的"火山"蹦迪,在一群孩子的青春狂野中,她仿佛回到了学生时代。她穿着从学院路服装市场三十块钱买回的T-S,裹着她年轻的骄傲的身体。她素面朝天,在风里露着最真实最娇嫩的肌肤。她每次都在地铁站给盲眼歌手几块钱,她在过街天桥上买D版DVD,她爱看周星驰爱听王菲,她用公司名称抬头的信纸给妈妈写信说北京下雪了,她爱看樱桃小丸子却从不见人就讲"酱紫",她除了黑白灰三色还会穿红色碎花的厚毛衣象冬天里最漂亮的一头熊......

  她不过感恩节不过复活节不过万圣节,在不是情人节的日子里收到玫瑰也很开心,平安夜十点半上床睡觉,因为第二天还要上班。

  她会带着笔记本电脑去北理工南门的"雕刻时光"做程序,叫一壶薰衣草茶渡过一个略带疲惫的下午,低声跟咖啡馆里打工的女生商量,"能不能把《加州旅馆》换成神秘园?我今天忘带耳机了......"她把三里屯留给都市里最糜烂最空泛的眼神,把哈根达斯留给都市里没有味蕾却能言善道的巧舌,把不地道的红酒留给都市里最不规范却感觉最好的手势.
同学聚会的时候跟从前一样包饺子。还是最爱吃路口小馆子的羊肉门丁儿,一口气能吃六个。人大的食堂有一道铁板牛柳最好吃,农大食堂的红烧鱼很地道,最喜欢的是语言学院的图书馆,可以端饮料进去喝的,最满意的是地质大学的操场,公司的足球赛都是在那里进行......那郁郁的林荫道,金子一样的笑声啊,那青春的乌发、如玉的容颜,几个流浪歌手,几个校园诗人......让我们堕入这个梦中永不醒来。

  凌晨一点,中关村的"永和豆浆"店里,灯火通明,加班的IT们在这里吃宵夜,男孩子与办公室里他暗恋着的女孩子一起,就着鲜肉馄饨和一小篮儿鸡柳,说着公司里今天的笑话,他怜惜地看着她因睡眠不足稍欠血色的脸,看着她杂乱的浓密的眉,多想告诉她,她长得很象自己南方家乡的小妹。那些深夜里的快餐店,那些不曾丢掉美好幻想的人们......门外,星光暗淡,远处,是沉睡的楼群,而他爱的女孩,坐在对面心满意足地吃着滚烫的馄饨......

  中关村的男孩儿,不会告诉女孩子帕格尼尼的小提琴让他落泪,他会用鼠标画一张丑丑的大头鱼送给她,他会真心地夸奖女孩子的红帽子真好看而不会指责帽子颜色与鞋不搭配。

  中关村的男孩儿,懂得有关等待的故事。

  公司有很可爱的环境,因为老板的不打领带和总是不在家。她坐在前面他在后面,早晨的阳光淡淡地斜照在他俩的桌上,她的笔架和他的显示器她的小熊杯子和他的咖啡勺,他带着南方口音说今天堵车,她趁老板不在梳梳头,把小镜子竖在键盘上,一道刺眼的光晃到他那儿,他在后面大呼小叫,说是妖女放出厉害武器了。

  每天早上闻着咖啡的味儿开始在键盘上敲打,象一首诗里说的,大珠小珠落玉盘,他靠近她在屏幕上指点时,呀,他暗恋的女孩子,传来洗发水的清香,不是名贵的CD不是什么"夜间飞行",那气息,象椰子和太阳的混了。

  是的是的,我们留恋纯真朴实的年代,我们希望看到生命如麦田,麦芒微微刺手,朴实的芳香弥漫在大地上,能醉倒所有付出过汗水的人们,那金黄色的麦浪,会让一只狐狸想起遥远星球上的小王子......

  我们不愿意让脚受到皮鞋的束缚、让脖子受到领带的束缚、让心受到格调的束缚。

  让小资们去孜孜以求最精致最优雅的生活吧,让他们劳累不堪地跟随着地铁书摊上的畅销指南书,一步一个脚印地上下求索高尚生活吧,让他们追随着《时尚》去买时尚而非自己喜欢的衣服吧,让他们拧着眉头吃西餐吧,让他们在音乐厅打盹、然后诉说他们被音乐感动得夜不能寐吧,让他们为看不懂的现代雕塑胡说八道吧,让他们去盛赞德国的马桶法国的餐具吧,让他们去描弧形最标准的眉毛吧......他们前天是布尔乔亚,昨天是波希米亚,今天是BOBO一族,明天是IF国际自由人,后天是谁?他们自己也不知道,因为指南书还没有出来呢。

- 作者: 平常道 2005年04月18日, 星期一 21:36  回复(0) |  引用(0) 加入博采

给c++程序员的一份礼物——常用工具集 【转贴】

【声明】如需复制、传播,请附上本声明,谢谢。原文出处:http://morningspace.51.net/,moyingzz@etang.com

  所谓"工欲善其事,必先利其器",从程序员的角度来讲,好工具的使用总会给人带来事半功倍的效果。面对众多工具/软件,我们应该如何取舍呢。前不久,笔者在csdn的c++论坛发了一篇贴文,以期能征求大家的广泛意见,得到了不错的反响。本文在对该贴进行整理的基础上,又做了一些补充。在这里要特别感谢网友:DanielWYO(爱上小白),redleaves(无心红叶)。


有以下几点需要声明:

  1. 本文主要是针对c++程序员的,但一些综合类的通用型工具/软件,作为c++程序员而言也是不可或缺的,因此也被列入其中。同样,这些工具/软件,对其他语言的程序员,也是适用的。     
  2. 对所列各类工具/软件的评价,其依据是多数网友的观点汇总,并结合了笔者自己的个人观点,供参考,如有不实之处,欢迎指正。     
  3. 对所列各类工具/软件的排名不分先后,其中既有Open source软件,也有商业产品。对于前者,我将提供下载地址,对于后者,我将尽量提供相关信息的参考网址。     
  4. 这份清单并非static的,所列工具/软件也远非保罗万象,如果你有好的建议和想法,也可以提供。如有必要,我会对该清单作定期更新^_^

 

开发环境

Turbo cDOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:)
Visual C++ 6.0/7.0稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很不错,比如:Spy++。但编译器较之同类,支持c++标准的程度不够好,尤其6.0及以前的版本。
BCBBorland的C++ Builder是可以与VC匹敌的另一个功能强大的IDE,速度和稳定性稍逊,但对c++标准支持的程度较好。
CygwinWindows平台下的C++编译器,基于gcc,又完全兼容Window特有的东西,比如对winsock的支持。从http://www.cygwin.com可以找到有关Cygwin的详细信息。
Dev-c++Windows平台下,一个类似VC、BCB的c++ IDE开发环境,属于共享软件。界面亲切优雅,size也不大,其4.9.x版有中文语言支持,无需汉化。编译器基于gcc,完全支持STL。但是对于规模较大的软件项目,恐怕难以胜任。可以从:http://www.bloodshed.net/dev/devcpp.html找到有关Dev-c++的有关信息。
Source Insight有着和Dev c++一样漂亮的界面,提供代码的编辑和察看功能,具有丰富的语法加亮功能,可以像VC一样自动弹出成员函数的提示,并具有快速方便的函数跳转功能(但是跳转速度似乎有点慢)。只是默认设置不适合时,需要仔细的调整和修改。无法查找经typedef之后的名字。

辅助

Visual AssistVC IDE环境下的辅助编程工具,能识别各种关键字、函数、成员变量,自动给出tip,并自动更正大小写错误,标示拼写错误等。是VC开发的良好伴侣。
Understand for C++一款c/c++IDE编程的辅助工具,支持反向工程,代码导向和一些统计功能,从http://www.scitools.com可以找到有关Understand for C++的详细信息。

程序编辑器

EditPlus一款很不错的文本编辑软件,功能强大却又十分轻巧。支持不同语言的语法加亮,还有Project组织功能,具有丰富的自定义功能。通过设置User Tool,可以和其他语言编译器结合,形成一个简单的IDE。
Ultra Edit功能和EditPlus相当,通过脚本文件提供的配置功能可以定制编辑环境,但自6.0版以后一直没多大变化,就编程而言,自定义设置没有EditPlus方便。
EMACS公认的世界上功能最多,最复杂的文本编辑器,其实也可以当作程序员用的编辑器。
Visual Slick Edit一个功能强大的程序员用编辑器。最值得一提的是其定制功能,很好用,可以和EMACS相比。自带了一套PCODE解释器,用c的语法,还可以挂接动态库。配合mingw一起使用很方便。从http://www.slickedit.com可以找到有关SlickEdit的详细信息。
IQEdit全功能的程序员用编辑器,界面很漂亮,从http://pwksoftware.com可以找到有关IQEdit的详细信息。

UML/建模

Rational Rose强大的建模工具,早已"家喻户晓",功过自然不必多加评说了。从http://www.rationalsoftware.com.cn可以找到有关Rational Rose的详细信息。
Visual ModelerMS Visual Studio 6.0所附的小工具。属于Rational和MicroSoft合作的战略产品,是Rose的简化版。
VisioMicrosoft的建模工具,感觉更人性化一些,但功能没有Rose多、强、专,支持正向的代码生成,以及对代码的反向工程。
Together另一款功能强大的建模工具,用java编写而成,口碑不错,不过速度稍稍慢了一些。从http://www.togethersoft.com可以找到有关Togather的详细信息,另外,以下网址提供了一个有关Together的教程:
http://www.cc.puv.fi/~tka/kurssit/Tietojarjestelmien_suunnittelu/together/TCCGuide6
Visual UML支持多种语言类型,比如:VC、VB、DELPHI、CORBA IDL等,可以直接从UML设计图生成代码,简单易用,完全适合Personal use,界面也很清爽。从http://www.visualObject.com可以找到有关Visual UML的详细信息。
SmartDraw通用图表制作软件,可以用来制作组织机构图、流程图、统计图表等。随带有图库,基本满足制作各类图表的需要。从http://www.smartdraw.com可以找到有关SmartDraw的详细信息。
PlayCase国产面向对象的建模软件,兼容UML和IDEF,轻量级软件,只是界面看起来有点简朴,乃是高展先生用Delphi完成的。

版本控制

ClearCaseRational的版本控制管理软件,功能强大,可以控制多种类型的文档,甚至包括Word、Excel、PowerPoint文档。但使用复杂,不易上手,且不是免费软件。
CVS为基于Web的分布式协同开发提供了版本控制管理手段,且是免费软件,可以通过脚本定制功能。但在权限控制方面功能相对较弱。
VSS微软的版本控制管理工具,功能相对简单,适合于小型团队开发,将其整合到微软的其他开发工具中,使用起来十分方便。
SourceOffSite微软为开发人员提供的远程访问VSS数据库的工具,使数据库得以远程更新,以支持远程办公。

其他的版本管理工具还包括:PVCS、VCS、RCS等。

XML

expat用于读取和处理XML文档的c函数库,最初是James Clark的个人作品,简单轻巧,且速度快。但支持的编码方式有限,最遗憾的是不支持中文。从http://expat.sourceforge.net可以找到有关expat的详细信息。
xml4cIBM的XML Parser,用c++语言写就,功能超级强大。号称支持多达100种字符编码,能够支持中文,适合于大规模的xml应用。若只是很小范围的应用,则非最佳选择,毕竟,你需要"背负"约12M左右的dll的沉重负担。从http://www.alphaworks.ibm.com/tech/xml4c可以找到有关xml4c的详细信息。
Xerces c++Apache的XML项目,同样是c++实现,来源于IBM的xml4c,因此编程接口也是和xml4c一致的。但是目前只支持少数的字符编码,如ASCII,UTF-8,UTF-16等,不能处理包含中文字符的XML文档。从http://xml.apache.org/xerces-c可以找到有关Xerces c++的详细信息。

测试

CppUnit一个c++的单元测试框架,可以通过派生测试类的方式,定制具体的测试方案。xUnit家族的一员,从JUnit移植而来,JUnit是Java语言的单元测试框架。从http://cppuint.sourceforge.net可以找到有关CppUint的详细信息。
Rational ROBOTRational的自动化测试工具,通过编写脚本的方式提供自动化测试特性。其GUI方式的脚本录制功能,有助于对GUI软件进行功能测试;其VU方式的脚本录制功能,有助于测试某些软件的数据通讯功能。
Rational Purify同样是Rational的自动化测试工具,不需要被测程序的源代码,可以用来检查内存访问错误、Windows API调用错误等,以完成软件的可靠性测试,属于白盒测试。

其他的Rational测试工具还包括:TestFactory、PureCoverage、TestManager等。

日志

log4cpp一个用于日志记录的c++函数库,可以将内容以定制的方式记录到不同的目的地,比如:文件、控制台、syslog等,同时还可以通过控制记录级别来屏蔽掉某些无关记录。从http://log4cpp.sourceforge.net可以找到有关log4cpp的详细信息。

注释

Doc++注释文档生成工具,根据源程序中的文档注释,可以输出TeX和HTML格式的文档。除了支持c/c++语言外,还支持IDL和java。仅提供命令行使用方式。从http://docpp.sourceforge.net可以找到有关Doc++的详细信息。
Doxygen注释文档生成工具,较之Doc++功能更为齐全,可以生成包括HTML、PDF、RTF在内的多种格式的文档,并有GUI界面,除了支持c/c++语言外,还支持IDL、java、PHP、c#等。从http://www.stack.nl/~dimitri/doxygen可以找到有关Doxygen的详细信息。

--morning--

- 作者: 平常道 2005年04月18日, 星期一 15:49  回复(0) |  引用(0) 加入博采

给我留言

有什么想说的,请留言。。。


- 作者: 平常道 2005年04月14日, 星期四 15:54  回复(2) |  引用(0) 加入博采

GMail邀请

本人有不少的GMail邀请,谁要的话给我在下面留言吧,我会尽快邀请你的。

注意,新浪的免费邮箱收不到邀请的。


- 作者: 平常道 2005年04月14日, 星期四 15:51  回复(6) |  引用(0) 加入博采

用得着的FTP站点

记录自己认为比较好的FTP站点,方便自己,方便大家。

以后会慢慢扩充的。。。

ftp://ftp.chyangwa.net    //有很多的摄影方面的图书、资料,还有一大堆的评书、相声以及余世维的讲座。2005-4-14


- 作者: 平常道 2005年04月14日, 星期四 15:44  回复(0) |  引用(0) 加入博采