全脑瘫IT时代(六)

这个系列我很久没更新了,因为脑瘫的软件和硬件确实不那么常见。不过,今天我又遇到了一个完美的素材。

Altova UModel

Altova UModel 应该是除了ROSE之外少数硕果仅存的UML工具之一,功能也确实没的说,很好,很强大。但是这软件的代码逆向功能却有一个真正全脑瘫的设计:

image

当我们选择从代码逆向生成顺序图的时候,遇到空的方法就会有这个提示。也许各位看官觉得,嚯,这算神马问题啊,多user friendly的提示啊。

当你正在逆向一个15w行代码的工程的时候,需要6个小时,可能会有600多次这样的警告的时候,一切就不那么好玩了。因为这个窗口是模态的,不点掉分析就会停止。于是,我们不得不傻逼兮兮的看着屏幕,盯着Altova UModel,如果没有及时点掉这个警告,那计算机可就怠工了。我试图找到关闭这种提示的选项,但是我没有成功。

另外每生成一张顺序图,Altova UModel都会即时刷新绘图区……嗯……这个有多么脑瘫不多说了,各位看官想象一下6000张顺序图打开6000个窗口的壮观景象吧。

一个号称工业级的UML工具,是不是只能用来分析不超过1w行代码的工程呢?

让 UV4 支持STC 单片机

Keil 本身并没有自带 STC 8051 单片机的数据,这样用起来就非常令人不爽,好在国内有个青年已经整理了一个补丁

这个补丁包含三个修正:

  • 汉字bug修正,这个是老生常谈了,很奇怪Keil十年来都没有修正这个,说明其对中国市场完全漠视的态度。
  • STC头文件
  • STC器件数据库

OK,就一般应用来说这个补丁已经足够了,但是对于追求完美的人来说还略有不足,因为这个补丁会覆盖掉UV4自带的器件数据库UV4.cdb。打上补丁就丢失了最新的UV4数据库。

怎么解决这个问题呢,其实自UV2以来,就支持用户自定义器件数据库的功能,我们可以按照以下方法来修改:

  • 备份UV4.cdb
  • 安装补丁
  • 修改 C:\Keil\TOOLS.INI,在[UV2]一节下面增加

    CDB0=uv4\custom.cdb("STC 8051")

  • 将补丁安装的UV4.cdb改名为custom.cdb
  • 将备份的UV4.cdb恢复

这样下次我们选择器件数据库的时候,UV4就会问我们要从哪个库里面选取了。