(2007-01-28) (阅读次数: 3942)
上回书说到,用C#来进行中文编程,最后的主程序上很是有趣,没看过的客官,可以看看第一篇《让我们用中文编程》。看到有些客官,在后面说到,如果连那些关键字也能够中文化就好了。当时心中无奈,唉,谁叫C#不支持#define来替换关键字呢?在这风云变幻的年代,每一分钟都有奇迹的发生,曾经的“不可能”,很有可能就变成了“想当然”。当初的无奈,现在还是无奈么?请看下文。
随着11月7日,微软Visual C++ 2005的发布,我们关注到,VC8.0中增加了大量新的特性,包括最重要的,引入了C++/CLI,可以说是给C/C++语言历史上掀起了新的一页。作为一个方言的出现C++/CLI会有什么样的作为,却是值得大家拭目以待,是功是过,由历史来评说。但是我们也注意到,VC8.0引入了一个非常有趣的支持,VC8.0开始支持Unicode的源代码了。如同C#和Java一样。如今,我们要写C++程序,已经完全允许在代码中出现Unicode编码的变量名、函数名、类名等等,并且#define也支持Unicode替换了。
(2007-01-23) (阅读次数: 2297)
关于Apache服务器,我看了一些文档,有一些提高性能的想法。
1.重新编译Apache。
Apache的默认配置不是为了最大化性能而设置的,而是考虑到向后兼容性和平台兼容性的问题。因此很多2.x的新特性没有能够体现出来。在编译的时候,需要加入一些参数,增加的这些模块应该会大幅的提高性能。
既然重新编译,建议使用最新的2.2版,里面有些部分对性能有不少加强。
(2007-01-22) (阅读次数: 1721)
近日,我拜读了一下张颖星和吴庆波的论文"Multithreading in the Kylin Operating System for High End Computing"[1],这篇论文最初是发表在2005年亚太地区第八届高性能计算国际研讨会的记录里,收录在IEEE了。
张颖星和吴庆波的这篇论文主要讲述的是麒麟操作系统是如何为了高性能计算而构架并实现多线程技术的。这篇论文也是比较正式的介绍了麒麟多线程库Kyth,不过从结构上看,是采用的KSE的构架。 似乎和FreeBSD的KSE非常相似。
(2007-01-21) (阅读次数: 1760)
今天正好想起来,其实可以返汇编看看用户模式下的Kyth和FreeBSD下的libpthread有什么不同。后来发现这个libpthread-kyth.so是没有strip过的,这样我可以看看够成这个可执行文件都有哪些源文件。
(2007-01-19) (阅读次数: 1845)
上回书说到,麒麟开发组在我的分析发布之后不久,就删除了网站上的2.0-14/21的光盘镜像,取而代之的是发布了一个新版本2.1-01。
如上回我所提到的那样,麒麟2.1-01相对于以前版本(2.0-14/21)进行了特殊化处理。主要是做了两件事情,一个是用objcopy/strip去掉了符号信息,strip了,而且还有一些额外的小动作,这样“成功的”回避了我那篇相似性分析中所用的分析方法;再一个就是修改了引导程序,所以用直接引导内核的方式已经是不可以用FreeBSD内核启动麒麟了,给大家尝试新版本情况下FreeBSD内核同麒麟内核的兼容性带来了一些障碍。
我之前不理解这种换门的行为有什么意义,有一位网友点醒的好,这叫做“迅雷不及掩耳盗铃”--(形容掩耳盗铃速度之快,呵呵)。
(2007-01-15) (阅读次数: 1933)
现在gcj还不支持Java 1.5,所以有很多程序执行不了。可惜Fedora Core使用的恰好是这个开源实现,而相比而言,我更喜欢Sun的Java实现,因此,无奈,每次装Fedora Core都需要去替换默认的gcj为Sun的JDK。虽然就这么几步,但是每次还老是需要google。干脆写个脚本记在blog好了。
(2007-01-14) (阅读次数: 2167)
在Fedora Core上安装VMWare for Linux的时候,有时候会出一些问题,比如在执行 vmware-config.pl 的时候报错:
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /lib/modules/2.6.15-1.1907_FC5/build/include
The kernel defined by this directory of header files does not have the same
address space size as your running kernel.
即使给了正确的路径,依旧不对。因此,安装的时候不得不每次先去修改vmware的一些文件。为了方便起见,我写了个傻瓜脚本,能够帮助做一些包括打补丁之类的琐碎事情,当然,执行前最好知道自己在做什么:)
这个脚本仅仅是为了方便起见,没有考虑各种情况的检测,所以,事先要做好备份,另外需要注意执行多于一遍的时候
(2006-09-14) (阅读次数: 2532)
这大千世界,还真是无奇不有。
日前,和LUPA的galen聊天的过程中得知联想在2001年的时候申请过一个关于Linux的专利。我大致的看了一眼,不看不知道,看了还真吓我一跳。这个专利号为 02129337.2的专利,是一种关于取得Linux系统信息的方法,仔细一看,感觉有些搞笑,不过这可确确实实是登录在我们国家的专利局中的专利。我截取其中的片段,大家一起来瞻仰瞻仰。
(2006-09-04) (阅读次数: 2945)
在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,而页面内容,相当一部分写入到了这些js脚本的命令中,而导致正常的DOM分析失败,无法提取所需的信息。
当然,如果这个页面模板确定,针对这个页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于general的网页搜索的话,这就不大现实了。正巧前两天和朋友讨论到这个问题,有些想法。在这里,提供两个思路,供大家参考。
1、做一个简化的 javascript 解释器,执行脚本片段
做一个完整的 javascript 解释器是比较难得,但是做一个简化的 javascript 解释器则很容易。我们不需要那些复杂的库,我们只将基本的 javascript 语法实现,并且将涉及文字输出的函数部分实现就可以了。
这样做的目的并不是要真正的完整执行这个javascript,而是将脚本中的字符串,按照其程序逻辑进行组合,最后输出这个脚本的完整输出。这样自然不全面,肯定由于很多功能没实现,导致输出的字符串和真实的输出不完全一样。但是,如果不出意外,
(2006-08-23) (阅读次数: 2076)
这是我在看了Jserv的Blog后,有所感想。为什么我的列表主要是大陆的一些项目而不能吸收台湾、香港等地的操作系统项目呢?
为了能够吸收海峡两岸的同胞在操作系统上所作的研究项目,我不想因为某些敏感的政治原因而让对岸的朋友对这个列表望而却步。同是华语社区,在操作系统技术研究上必然有交流的优势,何必因为敏感问题而隔阂呢?
因此我将可能导致对岸朋友敏感的“国内”二字改为“华人”,以让这个列表更加关注于技术,更能够吸收更多炎黄子孙在操作系统研究上的贡献,而不被任何其他问题所干扰。
我将这个列表接收项目的范围扩大到整个全球华语社区,而不想局限于大陆。凡是谁知道我们炎黄子孙在操作系统上做的贡献还没有被我登录到这个列表中的话,希望大家能够告诉我。也特别欢迎对岸研究操作系统项目的朋友能够将你们正在研究的项目告诉我,我会添加进这个列表的。
再次声明,除了来自大陆的操作系统项目外,这个列表还欢迎所有来自于台湾、香港、澳门等华语社区的操作系统项目,也可以是海外华人主导设计的操作系统项目。谢谢大家。